Jeg er p.t. plaget af spamindlæg i min gæstebog, og vil derfor høre om ikke man kan indsætte et valideringsfelt? Jeg har lavet nogle bogstaver og tal a.jpg, b.jpg og ligeledes 0.jpg, 1.jpg osv..
Hvordan indsætter jeg det i nedenstående kode??
<?php
require("./gbog-ting/mysql-funktioner.php");
require("./gbog-ting/indstillinger.php");
if(is_array($HTTP_POST_VARS)) {
$navn = $HTTP_POST_VARS['navn'];
$epost = $HTTP_POST_VARS['epost'];
$besked = $HTTP_POST_VARS['besked'];
$hjemmeside = $HTTP_POST_VARS['hjemmeside'];
} elseif (is_array($_POST)) {
$navn = $_POST['navn'];
$epost = $_POST['epost'];
$besked = $_POST['besked'];
$hjemmeside = $_POST['hjemmeside'];
}
function gbog_fejl($fejl) {
global $DOCUMENT_ROOT;
header("Location: /error/gb.php"); exit;
$DOCUMENT_ROOT = "../";
$generel_tekst = "Vær venlig at rette det til.";
$fejlmelding = "<ul>";
for($i=0;$i<count($fejl);$i++) {
$fejlmelding .= "<li>". $fejl[$i];
}
$fejlmelding .= "</ul>";
echo "Fejl! " . "Gæstebogen brokkede sig lidt over dit input:" . $fejlmelding . $generel_tekst ;
exit;
}
function skriv_i_gbog($navn, $epost, $besked, $hjemmeside) {
$ip = getenv('REMOTE_ADDR');
$sql = "insert into gaestebog(navn,epost,besked,ip,tid,hjemmeside)
values('$navn','$epost','$besked','$ip',now(),'$hjemmeside')";
aabn_forbindelse();
spoerg($sql);
luk_forbindelse();
}
if(!ereg("[A-z0-9]+", $navn)) {
$fejl[] = "Du har ikke skrevet dit navn";
}
if(!ereg("[A-z0-9]+", $besked) || strlen($besked) < $min_tegn) {
$fejl[] = "Du har ikke skrevet nogen besked, eller der er ikke skrevet tegn nok. Du skal som min. indtaste $min_tegn tegn!, du skrev kun " . strlen($besked) . " tegn.";
}
if(!check_email($epost) && $epost != ""){
$fejl[] = "Den indtastede E-mail er ikke korrekt";
}
if(!check_link($hjemmeside) && $hjemmeside != ""){
$fejl[] = "Den indtastede hjemmeside adresse er ikke korrekt";
}
aabn_forbindelse();
$blackwords = spoerg_og_faa_svar("select word from blackwords");
luk_forbindelse();
foreach($blackwords as $blackword){
if(strstr($besked, $blackword["word"])){
$fejl[] = "Beskeden må ikke indeholde: " . $blackword["word"];
}
}
if(count($fejl) > 0) {
gbog_fejl($fejl);
}
skriv_i_gbog(addslashes($navn),addslashes($epost),addslashes($besked),addslashes($hjemmeside));
header("Location: gbook_tak.php");
if($epost_p == "t") {
$ip = getenv('REMOTE_ADDR');
$epostens_indhold = "$navn har skrevet denne besked fra IP-adressen $REMOTE_ADDR:\\n-----------------------------------------------------\\n\\n$besked";
mail($admin_epost, "Der er skrevet i din gBog!", $epostens_indhold);
}
?>
Hilsen Frank