Was ist an der SQL-Abfrage falsch?
Verfasst: 04.12.2007 10:35
Hallo,
ich fummele schon einige Zeit an einer Abfrage herum.
Ziel ist es, für eine Art Counter die IP für eine gewisse Zeitspanne zu sperren.
Nun habe ich eine Tabelle angelegt mit ip, zeit, user_id und zaehlobjekt
Die Daten dort einzutragen und zeitgemäß zu löschen, klappt hervorragend, aber ich bin momentan zu blöd, die IPs auszulesen, so dass ich die Sperr-Routine in Gang bekomme.
Hier mal der Code dafür:
Zur Erklärung:
- $uip ist die zuvor erfasste reale IP
- $verip soll die gespeicherte IP sein. Die soll nachher für das Zählobjekt verwendet werden, um das nicht wieder einzublenden, oder eine Doppelzählung innerhalb einer Zeitspanne zu vermeiden.
- das "IP:". habe ich nur darin stehen, weil ich zu Testzwecken später im Script via echo $verip; den Wert anzeigen lasse, da ich aber nie etwas zu sehen bekomme, habe ich dort Text eingesetzt (der erscheint leider auch nicht)
Sicherlich obliege ich hier momentan einem ganz gewaltigen Denkfehler, aber ich stehe momentan total auf dem Schlauch.
Später möchte ich z.B. via:
Die Zählung laufen lassen, außerdem brauche ich im Velauf des Scriptes immer mal einen Wert aus der Tabelle, der sich auf das Zählobjekt, manchmal die User_ID und die IP bezieht, um eine Doppelanzeige zu vermindern.
Wäre schön, wenn ich hier den passenden Schub bekomme, der mich weiterbringt.
Gruß Max
ich fummele schon einige Zeit an einer Abfrage herum.
Ziel ist es, für eine Art Counter die IP für eine gewisse Zeitspanne zu sperren.
Nun habe ich eine Tabelle angelegt mit ip, zeit, user_id und zaehlobjekt
Die Daten dort einzutragen und zeitgemäß zu löschen, klappt hervorragend, aber ich bin momentan zu blöd, die IPs auszulesen, so dass ich die Sperr-Routine in Gang bekomme.
Hier mal der Code dafür:
Code: Alles auswählen
$sql1 = "SELECT * FROM " . $table_prefix . "counter_ip";
$result = $db -> sql_query($sql1);
if ( !($result = $db->sql_query($sql1)) )
{
message_die(GENERAL_ERROR, 'Error .', '', __LINE__, __FILE__, $sql1);
}
while($row = $db -> sql_fetchrow($result))
{
$verip = "IP:".$row['ip'];
}
- $uip ist die zuvor erfasste reale IP
- $verip soll die gespeicherte IP sein. Die soll nachher für das Zählobjekt verwendet werden, um das nicht wieder einzublenden, oder eine Doppelzählung innerhalb einer Zeitspanne zu vermeiden.
- das "IP:". habe ich nur darin stehen, weil ich zu Testzwecken später im Script via echo $verip; den Wert anzeigen lasse, da ich aber nie etwas zu sehen bekomme, habe ich dort Text eingesetzt (der erscheint leider auch nicht)
Sicherlich obliege ich hier momentan einem ganz gewaltigen Denkfehler, aber ich stehe momentan total auf dem Schlauch.
Später möchte ich z.B. via:
Code: Alles auswählen
if (($verip != $uip ) && !isset($_COOKIE['CounterX']))
{
.
.
.
}
Wäre schön, wenn ich hier den passenden Schub bekomme, der mich weiterbringt.
Gruß Max