Autor | Zpráva | ||
---|---|---|---|
data Profil * |
#1 · Zasláno: 4. 10. 2011, 16:14:41
Ahoj, tvořím "registrační" script
$addnick1 = strip_tags($_POST["addnick1"]); $addnick2 = strip_tags($_POST["addnick2"]); ...atd... $add = MySQL_Query("INSERT INTO $databaze SET nick1 = '$addnick1', nick2 = '$addnick2' ...atd... "); a potřebuju, aby když formulář odešlu se stejnýma údajeme to neuložilo do databáze a napsalo nějakou varovnou hlášku, lze to nějak udělat? |
||
Leo Profil |
#2 · Zasláno: 4. 10. 2011, 16:21:44
Nejlíp přímo v databázi, kde nastavíte pro daný sloupec UNIQUE. Hodnoty se v něm pak nesmí opakovat a pokus o vložení duplicity skončí chybou číslo 1062. Leo
|
||
data Profil * |
#3 · Zasláno: 4. 10. 2011, 16:50:50
ano, např ve sloupci nick1 se údaje nebudou moc rovnat, nicméně, když zadám
nick1 = "ahoj" nick2 = "ahoj" tak to projde... |
||
Leo Profil |
#4 · Zasláno: 4. 10. 2011, 16:58:52
Co vás vede k tomu mít sloupce nick1, nick2, ...? Leo
|
||
webihned Profil |
#5 · Zasláno: 4. 10. 2011, 16:59:54
if($addnick1 !== $addnick2){ //ulozis do db }else{ echo "Hodnoty v polích se nesmí shodovat"; } |
||
Rellik Profil |
#6 · Zasláno: 4. 10. 2011, 17:07:37
Aby to bylo efektivnější a nekončilo to nikomu nic neříkajícím erorem, tak bych to porvonal s DB, jeslti náhodou už takové jméno neexistuje a podle toho pak vypsal patřičnou hlášku. Např: Zadané jméno již v systému existuje, zadejte nové.
|
||
Tori Profil |
#7 · Zasláno: 4. 10. 2011, 18:43:22
Rellik:
Leovo řešení (tedy nejdřív INSERT a pak ověření případné chyby z důvodu již existujícího uživ.jména) je spolehlivější. Viz článek Využití unikátních klíčů v databázi od J.Vrány). |
||
Časová prodleva: 13 let
|
0