PHP fóra: Builder | JakPsatWeb | Webtrh
Nejste přihlášen(a)
Dobrý den,
Jsem pouhý BFU a mám problém s registrací. Nemohu docílit, aby byl v registraci Email a Login jedinečný. Ve formuláři mám Login, Heslo, potvrzení hesla a Email. Jakmile však zadám email jiný, může se zaregistrovat i stejný login. Nevíte někdo jak to vyřešit?
Děkuji
Offline
Asi by som to riesil ze si najprv skontrolujem ci sa hesla rovnaju, ak ano tak vytiahnem z databazy riadok kde email = tomu userovmu emailu ‚OR‘ login = userovmu loginu, ak mi pride nieco z databazy tak to zamietnem, ak nie tak vlozim novy riadok.
Offline
Porovnávání dvou hesel není příliš bezpečné. což takhle něco takového (předpokládá se, že všechny tři proměnné jsou již zvalidovány):
<?php
function registration($name,$email,$pass)
{
$select = mysql_query("SELECT name FROM users WHERE name = '".$name."' OR email = '".$email."'");
if(mysql_num_rows($select)==0)
{
//muzeme v klidu regisrovat, cili nake dotazy a podobne
}
else
{
//uzivatel s timto jmenem nebo emailem uz existuje, nepovolit registraci.
}
}
?>
Editoval pilec (19. 3. 2010 23:38)
nette 0.9.3 pro PHP 5.3, PHP 5.3. Programator pise kod, aby mu rozumnel pocitac. Skutecne dobry programator pise kod tak, aby mu rozumnel clovek.
Offline
Mozes vysvetlit „porovnavanie hesiel nieje bezpecne“? Ja by som tu query robil az vtedy ak sa tie hesla rovnaju (to vysvetlil ze chce mat pri registracii) takze ak sa niekto registruje tak si najprv validujem vstup – validujem meno, email a pass1 == pass2 a az ked je formular validny tak urobim tu query. Takze nerozumiem co nieje bezbecne na tom: pass1 == pass2 A ta query je to co som aj ja napisal.
Offline
Krcato, popiš prosím pořádně, co máš vlastně za problém. z toho co jsi naznačil není jasné o co jde
Z Javy do PHP nikdy nic dobrého nepřišlo. / http://twitter.com/paranoiq
Offline