Autor | Zpráva | ||
---|---|---|---|
Smoother Profil * |
#1 · Zasláno: 26. 11. 2007, 20:02:54
Mám tento kód pro kontrolu CAPTCHY, je to ok. Z SESSION dostanu stejné hodnoty jako z POST (po správném opsání obrázku). Pokud to proběhne v poho, chci dát do $test hodnotu ok. Pokud nedojde k opsání obrázku, chci zastavit zpracování kódu.
PHP: $test='spatny'; if (isset($_POST['opis']) && isset($_SESSION['captcha'])){ if (strtolower($_POST['opis'])==strtolower($_SESSION['captcha'])) {$test='ok';} else { die('Neopsali jste přesně pole s kontrolou proti SPAMU !!!');} } //výpis pro kontrolu echo 'captcha je '.$captcha.'<br>'; echo 'opis je '.$opis.'<br>'; echo 'test je '.$test.'<br>'; if ($test=='ok') { $kontrola='vpoho'; } else {die('Neopsali jste pole s kontrolou proti SPAMU !!!');} no a po zadání správných údajů vypíše: captcha je f8e917 opis je f8e917 test je spatny Neopsali jste pole s kontrolou proti SPAMU !!! Díky předem za jakoukoliv konstruktivní radu. PHP se učím, ale koukám už do toho půl dne a zkouším vše možné, takže rady typu "nauč se..., koukni do manuálu..." ne. Díky za pomoc. Smoother |
||
tiso Profil |
#2 · Zasláno: 26. 11. 2007, 20:33:51
Nikde tam nevidím session_start();
|
||
Smoother Profil |
#3 · Zasláno: 26. 11. 2007, 21:59:15
sorry, neskopnul jsem to, ale je tam hned nad $test='spatny';
|
||
Mastodont Profil |
#4 · Zasláno: 26. 11. 2007, 22:05:06
$_SESSION['captcha'] skutečně existuje? Odkud bereš $captcha?
|
||
Smoother Profil |
#5 · Zasláno: 26. 11. 2007, 22:11:19
$_SESSION['captcha'] existuje - tahám z ext. souboru, který generuje náhodné obrázky... session je tam taky zapnuté.. Ten výpis pro kontrolu mi tam vždy vypíše správný kód obrázku, takže tam problém nevidím. Prostě mi to nevyhodnotí strtolower($_POST['opis'])==strtolower($_SESSION['captcha']) jako pravdivé a v $test zůstane hodnota 'spatny'...
Díky za reakci S. |
||
tiso Profil |
#6 · Zasláno: 26. 11. 2007, 23:29:16
Smoother - podľa toho výpisu sa nevykoná tá prvá podmienka if(isset... nemáš chybu tam?
|
||
Smoother Profil |
#7 · Zasláno: 27. 11. 2007, 00:19:09 · Upravil/a: Smoother
tiso: Tak jsem to trochu upravil aby to bylo zřetelnější... if(isset... se mi zdá dobré, protože kontrolní výpis mi vypíše obě proměnné...
PHP: session_start(); $test='spatny'; if (isset($_POST['opis']) && isset($_SESSION['session'])){ //porovnáme odeslanou hodnotu se záznamem v session if (strtolower($_POST['opis'])==strtolower($_SESSION['session'])) {$test='ok';} else { die('Nevyhovuje podmince 1');} } //kontrolni vypis echo 'session je '.$session.'<br>'; echo 'opis je '.$opis.'<br>'; echo 'test je '.$test.'<br>'; if ($test=='ok') { $kontrola='vpoho'; } else {die('Nevyhovuje podmince 2');} vypíše: kod je b1efc6 kod2 je b1efc6 test je spatny Nevyhovuje podmince 2 Opravdu nevím, díky... |
||
tiso Profil |
#8 · Zasláno: 27. 11. 2007, 00:39:24
Smoother - hovorím že toto sa vôbec nevykoná:
if (isset($_POST['opis']) && isset($_SESSION['session'])){ |
||
Smoother Profil |
#9 · Zasláno: 28. 11. 2007, 11:31:20
Tiso: máš pravdu, ale co s tím, přiznám se že jsem v koncích... Data tam přece jsou shodná, tak proč to neporovná? Proč je nenajde 'isset', když kontrolní výpis je vypíše???
zpracovani.php session_start(); $test='spatny'; if (isset($_POST['opis']) && isset($_SESSION['captcha'])){ echo 'Tiso má pravdu :o)'; if (strtolower($_POST['opis'])==strtolower($_SESSION['captcha'])) {$test='ok';} else { die('Nevyhovuje podmince 1');} } // kontrolní výpis echo 'Hodnota captcha je '.$captcha.'<br>'; echo 'Opsaný kód je '.$opis.'<br>'; echo 'test je '.$test.'<br>'; if ($test=='ok') { $kontrola='vpoho'; } else {die('Nevyhovuje podmince 2');} Vypíše: Hodnota captcha je 41969c Opsaný kód je 41969c test je spatny Nevyhovuje podmince 2 |
||
Mastodont Profil |
#10 · Zasláno: 28. 11. 2007, 11:52:16
Zkus to upravit na
echo 'Hodnota captcha je '.$_SESSION['captcha'].'<br>'; echo 'Opsaný kód je '.$_POST['opis'].'<br>'; Co to vypíše? |
||
tiso Profil |
#11 · Zasláno: 28. 11. 2007, 12:03:07
Smoother - neviem kde je chyba
<?php btw. som tiso, nie Tiso, platí i pre začiatok vety... |
||
Smoother Profil |
#12 · Zasláno: 28. 11. 2007, 12:53:49
sorry tiso :o)
Mastodont: - trefa: vypíše: Hodnota captcha je 9c4afd Opsaný kód je test je spatny Nevyhovuje podmince 2 |
||
Mastodont Profil |
#13 · Zasláno: 28. 11. 2007, 12:56:37
No vidíš, takže dál už víš, kde je problém.
|
||
Smoother Profil |
#14 · Zasláno: 28. 11. 2007, 13:00:11 · Upravil/a: Smoother
přesně, díky moc - jsem Máňa
tiso - díky za snahu a nakopávání Mastodont - díky za trefu a nakopnutí :o) kluci jste skvělí už to fachá: Tiso má pravdu :o)Hodnota captcha je dedaf9 Opsaný kód je dedaf9 test je ok Díky Smoother |
||
Časová prodleva: 16 let
|
0