Autor | Zpráva | ||
---|---|---|---|
beever Profil * |
#1 · Zasláno: 12. 2. 2007, 23:56:45
mám script na vytvoření kodu
<? function vytvorkod(){ $delka = 6; $velka_pismena = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); $mala_pismena = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'); $cislo = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'); $num_velka_pismena = count($velka_pismena); $num_mala_pismena = count($mala_pismena); $num_cislo = count($cislo); $kod = ''; for($i = 0; $i < $delka; $i++) $kod .= $velka_pismena[rand(0, $num_velka_pismena - 1)] . $mala_pismena[rand(0, $num_mala_pismena - 1)] . $cislo[rand(0, $num_cislo - 1)]; return substr($kod, 0, $delka); } $hotovykod = vytvorkod(); ?> a při registraci chci aby ten kod vložili u formuláře...ověřuju to takhle: if(empty($_POST[code])) { $code = false; $chyba = "Musíte vyplnit kód!<br>"; } elseif ($hotovykod!=$_POST[code]) { $code = false; $chyba = "Kód neni spravny!<br>"; } else { $code = $_POST[code]; } ale pokud napíšu kod (správný) který se vygeneruje stejně to chodí chybovou zprávu, že kod není správný. Myslím že je to tím že po odeslání formuláře se vygeneruje další kod. Mohli byste mi s tím pomot, děkuju |
||
Casero Profil |
#2 · Zasláno: 13. 2. 2007, 00:10:52
beever
Ano, po odeslání se vygeneruje kod nový. Tudíš posílej ten kod třeba jako hidden a s tím to pak kontroluj. Nebo si ho ulož -> cookies, db, soubor. |
||
Eddie Profil |
#3 · Zasláno: 13. 2. 2007, 00:12:11
najlepsie bude ak ho ulozis do sessions ...
|
||
beever Profil * |
#4 · Zasláno: 13. 2. 2007, 01:17:14
pokud to uložím do sesion: session_start(); $_SESSION['kod'] = $hotovykod; tak i při odeslání se mi změní session a potom to hodí stejně že se neshodují
|
||
tiso Profil |
#5 · Zasláno: 13. 2. 2007, 01:21:02
beever to si aj vyskúšal, alebo to tvrdíš len tak?
|
||
beever Profil * |
#6 · Zasláno: 13. 2. 2007, 01:22:09
vyzkoušel...když dám type hidden tak mi to jde...
|
||
beever Profil * |
#7 · Zasláno: 13. 2. 2007, 01:22:39
ale rád bych to přes session
|
||
tiso Profil |
#8 · Zasláno: 13. 2. 2007, 01:27:00 · Upravil/a: tiso
beever veď ono by to s tou session malo fungovat.. Pokiaľ náhodou opäť nevoláš niekde tú svoju funkciu a nemeníš session pred tým ako spracuješ form...
edit: aha, vlastne voláš, píšeš to ž v prvom príspevku... riešenie je ľahké: zmeniť poradie... najjenoduchšie keď sa form spracúva skriptom ktorý ho vypisuje: if (isset($_POST["submit"])){//odoslany form spracuj ho... ... } else{alebo vypis form ... } |
||
beever Profil * |
#9 · Zasláno: 13. 2. 2007, 01:33:34
mno dělám to takhle:
kod kontrolující všechno z formuláře if(empty($_POST[code])) { $code = false; $chyba = "Musíte vyplnit kód!<br>"; } elseif ($hotovykod!=$_POST[code]) { $code = false; $chyba = "Kód neni spravny!<br>"; } else { $code = $_POST[code]; } formulář a v něm mám teda <td><b><? @include("code.php"); $_SESSION['code']=$hotovykod; echo $hotovykod;?></b></td><td><input type=text size=6 maxlength=6 name="code" value=""></td> |
||
tiso Profil |
#10 · Zasláno: 13. 2. 2007, 01:37:15
elseif ($_SESSION["code"]!=$_POST["code"])
|
||
beever Profil * |
#11 · Zasláno: 13. 2. 2007, 01:40:27
|
||
beever Profil * |
#12 · Zasláno: 13. 2. 2007, 01:44:16
to jsem měl, jen jsem to teď špatně nakopíroval a teď to funguje...děkuju moc hlavně v tuhle noční hodinu, už jsem myslel že se dneska nevyspím:-)
|
||
tiso Profil |
#13 · Zasláno: 13. 2. 2007, 01:45:47
beever za málo...
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0