ip sperre im gb funktioniert nicht

hallo zusammen,

ich bin schon seit tagen dabei eine ip-sperre für mein gästebuch zu entwickeln..leider klappt es immernoch nicht.hatte die idee bei jedem eintrag in die sql tabelle Gaestebuch auch noch einen zusätzlichen eintrag in die tabelle Gaestebuch_sperre zu machen. aus der letzteren tabelle soll dann jedesmal die aktuelle $sperre ausgelesen werden.

check.php
PHP:
<?php
$abfrage = "SELECT * FROM Gaestebuch_sperre order by id desc";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
   {
   $ip2 = $row->ip;
   $datum2 = $row->datum;
   
   if($ip2 == $ip and $datum2 == $datum)
   {
   $sperre = $row->sperre;
   }
   else
   {
   $sperre = 0;
   }
   
   }
?>

das eintragen funktioniert so:

PHP:
if($ein == "1" and $sperre <= $eintraege_pro_tag - 1)
   {
$name = ($_POST["name"]); 
$icq = ($_POST["icq"]); 
$email = ($_POST["email"]); 
$inhalt = ($_POST["inhalt"]); 
$homepage = ($_POST["homepage"]); 
$eintrag = "INSERT INTO Gaestebuch (icq, homepage, datum, name, inhalt, email, ip) VALUES ('$icq', '$homepage', '$datum', '$name', '$inhalt', '$email', '$ip')";
$eintragen = mysql_query($eintrag); 
    if($eintragen == true) 
        { 
        $sperre ++;
        if ($sperre == 1)
            {
            $eintrag = "INSERT INTO Gaestebuch_sperre (datum, ip, sperre) VALUES ('$datum', '$ip', '$sperre')";
            $eintragen = mysql_query($eintrag); 
            }
        else
            {
            $aendern = "UPDATE Gaestebuch_sperre Set sperre = '$sperre' WHERE ip like '$ip'";
            $update = mysql_query($aendern);
            }
        } 
    else 
        { 
        echo "Beitrag konnte nicht erstellt werden <br><br>"; 
        } }

leider wird in die tabelle Gaestebuch_sperre jedesmal wieder der eintrag 1 gemacht..außerdem ist in der var $sperre kein inhalt..deshalb gehe ich davon aus das in der check.php ein fehler ist..sieht in jemand? falls ja kann mir jemand auf die sprünge helfen?
oder hab ich gar einen denkfehler gemacht und es funktionier so überhaupt nich?

danke im voraus!!
VG Philipp
 
generell:
irgendwie sehe ich nirgends mit was du deine variable $ip definierst....da muss also noch mehr code sein, damit man da was sagen kann.

check.php:
lass (my)sql den check machen....dort geht das viel besser.
die query wuerde dann in etwa so lauten:
$abfrage = "SELECT sperre FROM Gaestebuch_sperre WHERE ip = *ip* AND datum = *datum*";

danach query absetzen und schauen ob es min eine zeile gbit. wenn ja feld 'sperre' zuweisen.
 
Zurück
Oben