Autor Zpráva
Maugli
Profil *
Potřeboval bych poradit, jestli je níže uvedené ošetření zamezení vkládání už existujícího uživatele do databáze podle Vás dostačující, nebo existuje lepší, respektive jak to řešíte vy? :)

$registr = mysql_query ("INSERT bla bla bal

if (!$register)

if (mysql_errno() == 1062)
echo "Uživatel už existuje";

Děkuju za radu
nightfish
Profil
pokud po této hlášce je opět zobrazen formulář s předvyplněnými hodnotami, tak je to dobré
pokud by tam byla ještě ajaxová kontrola zadaného uživatelského jména, bylo by to ještě lepší :-)
Hanka
Profil *
Hehe... a jak na to? :o)

I když předvyplněné hodnoty, tam ani potřeba nebudou.. protože to bude jen o

User
Heslo
Heslo podruhé
E-mail

Ale co je to ajaxová kontrola zadaného uživatelského jména? Můžu vědět víc.
Maugli
Profil *
HANKA

Hele, co se přiživuješ na mém dotazu :)))

Ale máš stejné otázky jako já (a asi i stejný problém).... takže je to v pohodě.
armin
Profil
prijde mi to trosku hardcore resit neco pres cislo chyboveho kodu :) Jako jo, standardy nejake jsou, ale :))) Co treba:
$q=mysql_query("SELECT * FROM uzivatele WHERE login='$_POST['login']') or die (mysql_error);
if (mysql_num_rows($q)>0) { echo 'uzivatel jiz existuje, prosim zadejte jinej login'; }
else {.....}
krteczek
Profil
armin: řešit ošetření vkládání uživatele přes insert a chybovou hlášku mysql je myslím si dobré a elegantní řešení, jen tu nezazněla podmínka, že sloupec v kterém jsou uložené jména uživatelů v tomto případě MUSÍ MÍT NASTAVENO UNIQUE
krteczek
nightfish
Profil
Hanka
Maugli
http://php.vrana.cz/overeni-unikatnosti-uzivatelskeho-jmena-u-klienta. php
Joker
Profil
armin
Podle mě to vůbec není "hardcore" a je to vcelku standardní řešení.
Hodně lidí, včetně mě teda, je zvyklých, že chyba = výjimečný stav, kdy je něco opravdu špatně. Takže jim (nám) přijde zvláštní tak nějak očekávat chybu v rámci normálního běhu skriptu.
Ale až na ten nezvyk je to řešení zcela správné.
Maugli
Profil *
Takže to chápu tak, že to co jsem psal ....

$registr = mysql_query ("INSERT bla bla bal

if (!$register)

if (mysql_errno() == 1062)
echo "Uživatel už existuje";

... je vlastně správné a funkční :) Je to tak?
Joker
Profil
Pokud to funguje tak ano :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0