Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemZamknuto Kniha návštěv (antispam)

Dobrý den,

našel jsem hotový script na návštěvní knihu, jelikož PHP neumím. Chtěl bych se zeptat jestli by se našla nějaka dobrá duše, která by do scriptu vložila funkci např. "5+5=" která by zabránila spamu, kterého by tato kniha byla zanedlouho jistě plná. Adresa zdroje tohoto scriptu je diskuse.php

Za případnou pomoc moc moc děkuji.

Zde PHP script návštěvní knihy:

<?
$jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$web = $_POST['web'];
$zprava = $_POST['zprava'];

$jmeno=HTMLSpecialChars($jmeno) ; //převede některé znaky na entity
$email=HTMLSpecialChars($email);
$web=HTMLS pecialChars($web);
$zprava=HTMLSpecialChars($zprava );

$jmeno=stripslashes($jmeno); //odstraní lomítka
$email=stripslashes($email);
$web=stripsla shes($web);
$zprava=stripslashes($zprava);

$zprava = str_replace("\n"," <br> ", $zprava); //nové řádky nahradí <br>
$zprava = substr($zprava, 0, 10000);//zpráva bude mít maximálně 10000 znaků pomocí substr

$email_celek=" | <a href='mailto:$email'>$email</a>";
$web_celek=" | <a href='$web'>$web</a>";

if ($web=="http://"){$web_celek="";} //pokud se nevyplní nic se nevypíše
if ($email==""){$email_celek="";} // -||-

if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno
$celek="<p>Zprávu poslal <strong>$jmeno</strong>$email_celek $web_celek</p><p>$zprava</p><hr>";
$soubor = fopen ('data.inc','a'); //otevře soubor pro doplňování
fwrite ($soubor, $celek); //zapíše zprávu
fclose ($soubor); //zavře soubor
}
?>

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Nahraď if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno za if ($zp…
angel333 09.09.2007 14:51
angel333
Pro adminy: Nějak blbě se mi to zobrazuje. (IE 7, Vista) [http://img522.imageshack.us/img522/2200/b…
MaSo 09.09.2007 15:05
MaSo
XP, IE7 to samí.
angel333 09.09.2007 17:59
angel333
Takže tím je to jasný. Je to bug IE7. Kontaktujte support Micro$oftu. :))8-) poslední
host 09.09.2007 19:27
host

Nahraď

if ($zprava!="" and $jmeno!=""){ //provede se pokud není prázdná zpráva a jméno

za

if ($zprava!="" and $jmeno!="" AND $_POST['kontrola'] == 10){ //provede se pokud není prázdná zpráva a jméno

a do formuláře přidej

5+5=<input type='text' name='kontrola' />

.

Neozkoušeno.

Zpět do poradny Nahoru