hallo
ich habe ein script geschrieben, das die ip des besuchers in die dantenbank speichert mit einem timestamp.
dann wird ein js script aussgegeben (per echo)
beim zweiten aufruf wird geprüft, ob die ip schon existiert , wenn ja dan
wind ein anderes js script ausgegeben.
wenn ich das script direct aufrufe, und mehrmals aktualisiere sehe ich das jedes 2 mal wieder von vorne anfängt, und in der db weden die einträge überschrieben. was auch komisch ist.
könnt ihr mir bitte helfen, ich weiss echt nicht warm es nicht geht.
mfg Roland
Das Script:
ich habe ein script geschrieben, das die ip des besuchers in die dantenbank speichert mit einem timestamp.
dann wird ein js script aussgegeben (per echo)
beim zweiten aufruf wird geprüft, ob die ip schon existiert , wenn ja dan
wind ein anderes js script ausgegeben.
wenn ich das script direct aufrufe, und mehrmals aktualisiere sehe ich das jedes 2 mal wieder von vorne anfängt, und in der db weden die einträge überschrieben. was auch komisch ist.
könnt ihr mir bitte helfen, ich weiss echt nicht warm es nicht geht.
mfg Roland
Das Script:
PHP-Code:
<?php
/* Einstellungen */
/* Zeit in sekunden in dem das neue fenster nicht angezeit werden soll */
$max_no_script = 3600; // 3600 Sekunden = 1 Stunde
/* Ende Einstellungen Nichts mehr ändern */
if ($_SERVER["HTTP_X_FORWARDED_FOR"]) {
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
//verbindungsaufbau
mysql_connect("localhost","root","xxx") or die ("Keine Verbindung moeglich");
mysql_select_db("xxx") or die ("Die Datenbank existiert nicht");
clear(); // löscht alle zeilen mit ips die ällter als 1 h sind (die func ist unten)
$ergebnis = mysql_query("SELECT * FROM `ip_log` WHERE `ip` = '".$ip."'");
if (mysql_num_rows($ergebnis) > "0"){
echo "function winopen(){\n";
echo "\n";
echo "}\n";
} else {
$time=time();
mysql_query("INSERT INTO `ip_log` (`id`, `ip`, `time`) VALUES ('', '".$ip."', '".$time."')");
echo "function winopen(){\n";
echo "window.open(\"http://domain.ch\",width=800,height=800)\n";
echo "}\n";
}
function clear(){
$ergebnis2 = mysql_query("SELECT * FROM `ip_log`");
while($row = mysql_fetch_object($ergebnis2)){
$ende = time();
$zeit = $ende - $row->time;
if($zeit > $max_no_script){
mysql_query("DELETE FROM `ip_log` WHERE `id` = '".$row->id."'");
}
}
}
?>
Kommentar