IP Sperre. Problem

Trash

Erfahrenes Mitglied
Hi,
wenn jemand bei meinen Guestbook nen Beitrag hinzufügt wird seine IP in die DB mit derselben ID wie sein Beitrag geschrieben, so jetzt wird bei dem Formular verglichen:

PHP:
$anfrage = mysql_fetch_array(mysql_query("SELECT id, user_name, ip FROM gbook"));
if ($anfrage[2] == $REMOTE_ADDR)
{
echo "Du hast schon einen Beitrag verfasst !";
}
else
{
...

das problem ist, dass er auch echo "$anfrgae[2]"; nicht widergeben kann. Woran liegt das ? danke !
 
machs doch einfach so:

PHP:
$anfrage = mysql_fetch_object(mysql_query("SELECT id, user_name, ip FROM gbook"));
$ip1 = "$REMOTE_ADDR";
$ip2 = "$row->ip";

if ($ip1 == $ip2) {
echo "blubb";
}
else {
...
}

ich bin mir nicht sicher, ob man bei mysql_fetch_array zahlen verwenden kann. dann schon eher $anfrage['ip']...
 
ach so kanns ja auch nicht gehen, sorry :)
besser so:

PHP:
while($anfrage = mysql_fetch_object(mysql_query("SELECT id, user_name, ip FROM gbook")) {
$ip1 = "$REMOTE_ADDR";
$ip2 = "$anfrage->ip";

if ($ip1 == $ip2) {
echo "blubb";
}
else {
...
}
}

das dürfte gehen, evtl. noch WHERE in die Abfrage einbauen...
 
hi,
auch das geht nicht...
ich habs nun so probiert:

PHP:
$ip1 = "$REMOTE_ADDR";
$anfrage = mysql_fetch_array(mysql_query("SELECT id, user_name, ip FROM gbook WHERE ip = '$ip1'"));
$anzahl = mysql_num_rows($anfrage);
if ($anzahl > 0)
{
echo "Du hast schon einen Beitrag abgeschickt!";
}
else
{

aber da kommt nen Fehler in linie 5, kp warum...
 
Zuletzt bearbeitet:
ich bau hier nur mist :-)
also entweder so:

PHP:
$result = mysql_query("SELECT id, user_name, ip FROM gbook");
while($anfrage = mysql_fetch_object($result)) {
$ip1 = "$REMOTE_ADDR";
$ip2 = "$anfrage->ip";

if ($ip1 == $ip2) {
echo "blubb";
}
else {
...
}
}

oder bei deiner variante würde ich bei der if-abfrage
PHP:
if($anzahl <= 0 ) {
schreiben...
 
boah ey die ganze ******** funzt net !
wenn da smit der while schleife geht, iss das eingabe formular 20 mal aoder so da, weil nach else das eingabeformular kommt...wenn man dann nen eintrag hinzufügt und nochmal weill gehts immer noch :( was das für nen scheiss :D

// edit:

$ip1 = "$REMOTE_ADDR";
$anfrage = mysql_fetch_array(mysql_query("SELECT id, user_name, ip FROM gbook WHERE ip = '$ip1'"));
$anzahl = mysql_num_rows($anfrage);
if($anzahl == 0 )
{
echo "Du hast schon einen Beitrag abgeschickt!";
}
else
{

so geht es nur kommt bei zeile 5 nen mysql fehler, ich plan nicht warum...danke !

// edit2:

PHP:
$anfrage = mysql_fetch_array(mysql_query("SELECT id, user_name, ip FROM gbook WHERE ip = '$ip1'"));
daran liegt es, aber wenn ich es so mache

PHP:
$anfrage = mysql_query("SELECT id, user_name, ip FROM gbook WHERE ip = '$ip1'");

kommt kein Fehler mehr aber auch der schutz is weg...arghs
 
Zuletzt bearbeitet:
Du hast nen Fehler drin, mysql_numrows ist gleichzusetzen mit mysql_fetch_array es können also nicht beide in der selben Abfrage vorkommen...

PHP:
<?
$ip1 = "$REMOTE_ADDR"; 
$anfrage = mysql_query("SELECT id, user_name, ip FROM gbook WHERE ip = '$ip1'"); 
$anzahl = mysql_num_rows($anfrage); 
if($anzahl == 0 ) 
{ 
echo "Du hast schon einen Beitrag abgeschickt!"; 
} 
else 
{ 
...
}
?>
Verstehst du? :rolleyes:
 
verstanden aber nun funktioniert der schutz net mehr ! wieso denn das ich plan DAS net ... danke
 
Es muss natürlich:
PHP:
<?
if($anzahl == 1) {
echo "Du hast schon einen Beitrag abgeschickt!";
} else {
...
}
?>
so heißen... sry :)
 
Zurück