Autor Zpráva
Benny#17
Profil *
Ahoj, mam skript pro pridani prispevku do gbook jenze mam problem s antispamovou kontrolou ... nedky to projde v pohode a nekdy i kdyz zadam spravny vysledek tak to proste neprojde ... nevidim v tom chybu a stale sem nevychytal kdy to dela... dekuji vsem za odpovedi ... tu je kod<?php
ob_start();
session_start();
require_once ('db.php');
function cislo()
{
$moznosti= array("1","2","3","4","5");
$mista="1";
$heslo="";
for ($i=0 ;$i<=$mista-1 ;$i++)
{
$nahoda=rand(0, count($moznosti)-1);
$heslo.=$moznosti[$nahoda];
}
return $heslo;
}
$cislo1 = cislo();
$cislo2 = cislo();
$priklad = "$cislo1+$cislo2";
$vysledek = $cislo1+$cislo2;
$_SESSION['vysledek'] = $vysledek;
?>
---------hlavicka stranky -------
...

<?php
$ZobrazForm = TRUE;
if(isset($_POST['send_msg']))
{
$prezdivka = addslashes(trim($_POST['prezdivka']));
$mail = addslashes(trim($_POST['mail']));
$text = addslashes(trim($_POST['text']));
$antispam = trim($_POST['antispam']);
if ($prezdivka == "" || $mail == "" || $text == "" ||
$antispam == "")
{
echo "Nebyly vyplněny všechny údaje.";
session_destroy();
}
elseif
(!preg_match('/^[_a-zA-Z0-9.-]+@[_a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$/',
"$mail"))
{
echo "Zadaný e-mail není ve správném tvaru. Zkontrolujte si
znovu
vložené údaje.";
session_destroy();
}
elseif ($antispam != $_SESSION['vysledek'])
{
echo "Příspěvek neprošel antispamovou kontrolou.";
session_destroy();
}
else
{
$datum = time();
$ip = $_SERVER['REMOTE_ADDR'];
$uloz = mysql_query("INSERT INTO guestbook (prezdivka, mail,
text, ip, datum) VALUES ('$prezdivka', '$mail', '$text', '$ip',
'$datum') ") or die (mysql_error());
$ZobrazForm = FALSE;
echo "Děkuji za tvůj příspěvek.";
session_destroy();
}

}
if($ZobrazForm) {
?>
<form action="guestbook.php" method="post">
<fieldset>
<legend>Guestbook</legend>
<p>
<label for="pr">Přezdívka:</label> <input type="text"
id="pr" name="prezdivka" size="15">
</p>
<p>
<label for="mail">E-mail:</label> <input type="text"
id="mail" name="mail" size="15">
</p>
<p>
<label for="kecy">Text:</label>
<textarea size="10" id="kecy" name="text" rows="4"
cols="55"></textarea>
</p>
<p>
<label for="antispam">Kolik je <?php echo "$priklad";
?>?</label> <input type="text" id="antispam" name="antispam" size="5">
</p>
<p>
<input type="submit" value="odeslat" name="send__msg">
</p>
</fieldset>
</form>
Nox
Profil
Tak se vykašli na nucení uživatelům vyplňovat matematické okénko a mrkni sem;)
http://www.dreamface.net/michal/?face=zajimavost&c=31.
Benny17
Profil
Tak se vykašli na nucení uživatelům vyplňovat matematické okénko a mrkni sem;)
http://www.dreamface.net/michal/?face=zajimavost&c=31.[/i]

Tak na tuhle stranku jsem koukal nekolikrat, ale tohle je dane a ja to musim dodrzet ale nevim kde je ta chyba
Benny17
Profil
A nema nekdo odkaz i v aj na podobne reseni?
Str4wberry
Profil
Benny17
V češtině: Jakub Vrána — Ochrana formulářů proti spamu

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: