Submit hvis resultat er rigtigt.. hvis ikke udskriv en fejlbesked
Hejsa folkens.Jeg sidder her og er igang med at pudse lidt op på en gammel tagwall/gæstebog jeg har liggende.
Det der skal ændres ved den er en lille simpel sikkerhedsløsning med et let regnestykke så man kan kende forskel på rigtige mennesker og spam-bots.
Det hele går ud på at lave et felt hvori man skal skrive resultatet af det lille regnestykke. Hvis det er forkert kommer den med en fejl-besked og indsætter ikke noget i databasen. Hvis resultatet er rigtigt indsætter den de forskellige data ind i databasen og kommer med en lille "godkendt" besked.
Tag jer ikke af min kode da den er ret gammel og godt rodet.
Min kode ser således ud:
<?
$num1 = mt_rand(1, 9);
$num2 = mt_rand(1, 9);
$res = $num1 + $num2;
if ($_POST['send']) {
if($_POST['right'] == $res ) { // fejlen skulle ligge her et sted
if($_POST['name'] && $_POST['content'] ) {
require("dbconn.php");
$table_name = "tag";
$date = date("d/m Y - H:i");
$name = $_POST['name'];
$content = $_POST['content'];
$mail = $_POST['mail'];
$url = $_POST['url'];
$ip = $_SERVER["REMOTE_ADDR"];
$content = ereg_replace("<","<", $content);
$content = ereg_replace(">",">", $content);
$content = ereg_replace("'","'", $content);
$content = ereg_replace("http:\/\/","", $content);
$sql = "INSERT INTO ". $table_name ." (date, name, content, mail, url, ip) VALUES('". $date ."', '". $name ."','". $content ."','". $mail ."','". $url ."','". $ip ."')";
$result = mysql_query($sql) or die(mysql_error());
echo "Tag tilføjet...<br /><a href=\"index.php\">Tilbage til forsiden</a>";
}
else
{
echo "Felterne Navn og Besked skal udfyldes.<br /><a href=\"java script:history.back()\">Tilbage</a>";
}
}
else
{
echo "Desværre, dit resultat var forkert.<br /><a href=\"tag.php\">Prøv igen</a>";
}
}
else {
$ip = $_SERVER["REMOTE_ADDR"];
echo "
Denne tagwall gemmer gæstens IP adresse i databasen til senere brug hvis man benytter et bannings-system<br /><br />
Din IP adresse er <b>". $ip ."</b> og vil blive gemt i databasen sammen med din besked.<br /><br />
<center>
<form name=\"tag\" action=\"tag.php\" method=\"post\">
<b>Navn: </b><br />
<input type=\"text\" name=\"name\" /><br />
<b>Email: </b><br />
<input type=\"text\" name=\"mail\" /><br />
<b>Hjemmeside: </b><br />
<input type=\"text\" name=\"url\" /><br />
<b>Besked: </b><br />
<textarea cols=\"22\" rows=\"5\" name=\"content\"></textarea><br />
<b>Resultatet af $num1 + $num2: </b><br />
<input type=\"text\" name=\"right\" /><br />
<input type=\"submit\" name=\"send\" value=\"Tag\" />
</form>
</center>
";
}
?>
Fejlen skulle gerne ligge omkring min if($_POST['right'] == $res ) men jeg kan ikke selv lige regne den ud.
Jeg håber nogen har en lille fiks løsning til mit problem.
Cheers :)