Autor | Zpráva | ||
---|---|---|---|
UrbiCZ Profil |
#1 · Zasláno: 27. 1. 2011, 14:17:13 · Upravil/a: UrbiCZ
Zdravím. Nechápu, proč se mi i při správném zadání jména a hesla spustí argumentace fce exit().
Díky za odezvu.... <?php $jmeno = $_POST["prezdivka"]; $heslo = $_POST["pass"]; mysql_connect("localhost","root","---"); mysql_select_db("ruzne"); $dotaz = mysql_query("SELECT jmeno, heslo FROM registrace"); while($radek = mysql_fetch_assoc($dotaz)){ $nick = $radek["jmeno"]; $pass = $radek["heslo"]; if($nick != $jmeno AND $pass != $heslo){ exit("Špatné jméno nebo heslo."); } } ?> |
||
Alphard Profil |
#2 · Zasláno: 27. 1. 2011, 14:39:48
V databázi bude jediný uživatel? Nechcete se raději inspirovat něčím, co funguje?
|
||
jenikkozak Profil |
#3 · Zasláno: 27. 1. 2011, 14:40:03
Používáš chybný operátor, mělo by tam být OR.
Máš-li v tabulce jen jeden údaj, nepotřebuješ cyklus (while). Doporučuji místo hesla ukládat jen jeho hash. |
||
UrbiCZ Profil |
#4 · Zasláno: 27. 1. 2011, 15:52:44 · Upravil/a: UrbiCZ
No v tabulce je už tak 20 uživatelů včetně hesel.
S OR to samozřejmě taky nefunguje. Jestli hashem myslíš např. md5(), tak to používám, ale teď to nepotřebuji....... |
||
jenikkozak Profil |
#5 · Zasláno: 27. 1. 2011, 16:00:50 · Upravil/a: jenikkozak
UrbiCZ:
Tak pomůže stránka Nejčastější potíže s PHP (FAQ). „S OR to samozřejmě taky nefunguje.“ Protože cyklus nemůže prověřit všechny údaje (všech 20) v tabulce, neboť hned při první nerovnosti záznamů je cyklus a celý skript ukončen tím exitem. |
||
Časová prodleva: 13 let
|
0