Autor | Zpráva | ||
---|---|---|---|
pexik Profil * |
#1 · Zasláno: 23. 11. 2008, 21:16:57
Ahoj,
mám problém s vypisováním podmínek, no teda je to složitější , pokusím se to nastínit. Mám databázi kde mám sloupce prezdivka a heslo (samozřejmě i další sloupce), když se zaregistruje uživatel a chce se přihlásit ... tak tady nastává můj problém, potřebuju aby se mi generovali podmínky pro přihlášení, abych to nemusel vypisovat. Začal jsem nějak takhle: $a = 1;$b = 1; while($zaznam = mysql_fetch_array($vypsat2)): $vypsaniPrezdivek[$a] = $zaznam['prezdivka']; $vypsaniHesel[$b] = $zaznam['heslo']; $a++; $b++; endwhile; Toto funguje, ale ted nevim jak dál, vše co jsem zkoušel mi nefungovalo. ve výsledk uby to mělo vypadat nějak takhle: if($heslo = "$vypsaniHesel[1]" and $prezdivka = "vypsaniPrezdivek[1]" or $heslo = "$vypsaniHesel[2]" and $prezdivka = "vypsaniPrezdivek[2]" or atd.....) nebo jestli znáte jiný funkční způsob tak sem s ním budu rád za cokoli. Pozn.: Když tam hesla doplnim tak to všechno funguje bezchybně, ale s tím se spokojit nechci... kdyby jste chtel celý kód tak stačí napsat (jestl i vám to pomůže...) |
||
yFang Profil |
#2 · Zasláno: 23. 11. 2008, 21:33:23
pexik
V podmínkách musíš psát dvě rovnítka za sebou (==), když máš jen jedno přiřazuješ tím hodnotu. if($heslo = "$vypsaniHesel[1]") Tím proměnné $heslo přířadíš hodnotu porměnné $vypsaniHesel[1], což předpokládám nechceš. |
||
Casero Profil |
#3 · Zasláno: 23. 11. 2008, 21:38:26
pexik
Podivej se sem, jak by mohlo vypadat takové přihlášení. |
||
pexik Profil * |
#4 · Zasláno: 23. 11. 2008, 22:39:30
Tak dik uz to mam cely sem to vyresil takhle:
<?php session_start(); $prihlasit = $_POST['prihlasit']; $odhlasit = $_POST['odhlasit']; if(isset($prihlasit)){ $heslo = $_POST['heslo']; $prezdivka = $_POST['prezdivka'];} if(isset($odhlasit)){ unset($_SESSION['authuser']); unset($_SESSION['heslo']); unset($_SESSION['prezdivka']); session_destroy(); } if(isset($prihlasit)){ $spojeni = MySQL_connect("mysql.ic.cz", "ic_pexxxik", "123456") or die ("spojeni s databazovym serverem se nepodarilo"); MySQL_select_db ("ic_pexxxik"); $kontrola = mysql_query("select * from uzivatele where prezdivka='".$prezdivka."' and heslo='".$heslo."'", $spojeni); if($kontrola == true){ $_SESSION['authuser'] = true; if($prezdivka !=""){$_SESSION['prezdivka'] = $prezdivka;} if($heslo !=""){$_SESSION['heslo'] = $heslo;} } MySQL_close($spojeni); } ?> Fakt moc dik |
||
pexxxik Profil |
#5 · Zasláno: 24. 11. 2008, 17:33:53
Tak ro před tím bylo špatně, vždy to vyhodnotilo true a mohl se přihlásit každý, to jsem včera už nezkoušel, přřišel jsem na to dneska a tohle uz by mělo fungovat:
<?php session_start(); $prihlasit = $_POST['prihlasit']; $odhlasit = $_POST['odhlasit']; if(isset($prihlasit)){ $heslo = $_POST['heslo']; $prezdivka = $_POST['prezdivka'];} if(isset($odhlasit)){ unset($_SESSION['authuser']); unset($_SESSION['heslo']); unset($_SESSION['prezdivka']); session_destroy(); } if(isset($prihlasit)){ $spojeni = MySQL_connect("mysql.ic.cz", "ic_pexxxik", "123456") or die ("spojeni s databazovym serverem se nepodarilo"); MySQL_select_db ("ic_pexxxik"); $vysledek= mysql_query("select jmeno from uzivatele where prezdivka='".$prezdivka."' and heslo='".$heslo."'"); $kontrola = mysql_num_rows ($vysledek); if($kontrola == "1"){ //kontrola == $prezdivka $_SESSION['authuser'] = true; if($prezdivka !=""){$_SESSION['prezdivka'] = $prezdivka;} if($heslo !=""){$_SESSION['heslo'] = $heslo;} } MySQL_close($spojeni); } ?> |
||
Časová prodleva: 15 let
|
0