Autor Zpráva
Fisak
Profil
Zdravím... mám dotaz ... udlal sem si funkci kterou vždy vkládám stylem <?php echo AntiSpam(); ?> za každý form... ale nějak mi to blbne a rovnou mi to vypíše die(...);
function AntiSpam() {
if(isset($_POST['druh_ant_sp'])) {
if($_POST['druh_ant_sp'] != "on" or $_POST['prv_ant_sp'] != "") die("zlobivý bot!!");
echo "<INPUT TYPE=\"CHECKBOX\" name=\"prv_ant_sp\" style=\"display: none;\" /><INPUT TYPE=\"CHECKBOX\" name=\"druh_ant_sp\" style=\"display: none;\" checked=\"checked\"/>";
}
}
Chamurappi
Profil
Reaguji na Fisaka:
nějak mi to blbne a rovnou mi to vypíše die
Takže není těžké uhodnout, že chyba je v té podmínce. Je vyhodnocena kladně v případě, že ta hodnota není "on", a nebo v případě, že není ""… takže vždy, protože obě hodnoty naráz mít nemůže.
Fisak
Profil
Chamurappi:
jsou tam dva rozdílné posty 'druh_ant_sp' a 'prv_ant_sp' takže mají dvě hodnoty.. a to ta první musí mít vždy "" a ta druhá vždy "on" jelikož ta první je unchecked a ta druhá checked... a pokud je to jinak tak se zobrazí die(....);


spíš problém je v tom že jsou obě teď undefined takže to si myslím že je problém
Chamurappi
Profil
Reaguji na Fisaka:
Aha, pardon, to jsem přehlédl.
Nezaškrtnuté zaškrtávátko se vůbec neodesílá na server.
Fisak
Profil
Chamurappi:
nooo moje myšlenka právě byla ta že boti vždy zaškrtou buď všechny tlačítka nebo žádné... tak právě sem to chtěl udělat takto...
helpik.JPW
Profil
Fisak:
nooo moje myšlenka právě byla ta že boti vždy zaškrtou buď všechny tlačítka nebo žádné
Zajímavá myšlenka a účiná být může.
Způsobů jsem viděl několik, třeba princip, že se může generovat dvouciferné číslo na pozadí, které se předá ke kontrole odeslání. Trefení se do takové kombinace je asi méně pravděpodobné. Nicméně mě Váš způsob vůbec nenapadl a nemám ho odzkoušen.
Fisak
Profil
helpik.JPW:
může generovat dvouciferné číslo na pozadí
také zajímavé ale právě snažím se udělat takový plugin u kterýho stačí aby uživatel vložil <?php AntiSpam(); ?> pod <form> kde chce mít antispamovou ochranu a právě ta se mu tam automaticky zařídila... bohužel se mi to ještě nepodařilo sprovoznit..
jenikkozak
Profil
Fisak:
Zdravím... mám dotaz ... udlal sem si funkci kterou vždy vkládám stylem <?php echo AntiSpam(); ?> za každý form
Nechápu příliš tu logiku, kdy v jedné funkci je příkaz na vykreslení části formuláře a zároveň na vyhodnocení přijatých dat, ale budiž.
Pokud tu funkci používáš za formulářem, jak uvádíš, hodnoty se neodesílají, to by musely být uvedeny uvnitř formuláře.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0