Script mit IP Reload Sperre funzt nicht - HILFE :-(

N

Niesfisch

hi Leute also ich bin neu hier, vielleicht kann sich jemand mal meinen Code ansehen. Ich ermittle die IP,die aktuelleZeit und vergleiche das mit den Datensätzen aus der mysql DB. es nur möglich sein, dass die Ip zweimal eingetragen wird, falls 1 tag dazwischen liegt. hier mein code:
...
PHP:
$unix_zeit = time();

$db = @mysql_connect("localhost","","") or die ("<br><br><br><div align='center'>wasn´t able to load the database.<br> 
         										Please report this to me.<br>
		 										my email: <a href='mailto:Marcel.Sauer@gmx.de'>Marcel.Sauer@gmx.de</a></div>");
if ($db)
   mysql_select_db("name",$db);
   
$result = @mysql_query("SELECT * FROM Counter ",$db);
$rows = mysql_num_rows($result); 

if ($rows != 0 || $result != null)
{
  while ($daten = mysql_fetch_array($result))
	{ 
	 if ($daten[ip] != $ip)
	  {
	    $query = @mysql_query("INSERT INTO Counter(ip, zeit, unix_zeit, ref) VALUES 
		                     ('$ip', '$zeit', '$unix_zeit', '$all')",$db) or die 
							 ("error during counterupdate Please report this to me.<br>
			 				  my e-mail: <a href='mailto:Marcel.Sauer@gmx.de'>Marcel.Sauer@gmx.de</a>");
				
		
							  
	  } //end if 
	  else if ($daten[ip]== $ip)
	  { 
		$zeittemp = $daten[unix_zeit];
	    $zeittemp += 86500; //1 tag
		
		if ($unix_zeit > $zeittemp) //86400 = 1 Tag
		{
		  $query = @mysql_query("INSERT INTO Counter(ip, zeit, unix_zeit, ref) VALUES 
		                     ('$ip', '$zeit', '$unix_zeit', '$all')",$db) or die 
							 ("error during counterupdate Please report this to me.<br>
			 				  my e-mail: <a href='mailto:Marcel.Sauer@gmx.de'>Marcel.Sauer@gmx.de</a>");
		 $entry = 1;							  
		} //end if
	  } //end else if	 
	} //end while
}

if ($rows == 0 || $result == null) //wenn DB leer ist
{
     $query = @mysql_query("INSERT INTO Counter(ip, zeit, unix_zeit, ref) VALUES 
	                     ('$ip', '$zeit', '$unix_zeit', '$all')",$db) or die 
						 ("<br><br><br><div align='center'>error during counterupdate Please report this to me.<br>
		 				  my email: <a href='mailto:Marcel.Sauer@gmx.de'>Marcel.Sauer@gmx.de</a></div>");
  
} //end if
mysql_close($db);
?>
....

er kontrolliert die Zeit nicht, d.h. er trägt immer doppelt ein

ciao und danke Marcel @ Niesfisch:(
 
ich seh zwar in deinem script nicht durch (wie bei allen die ich nicht geschrieben habe) aba ich seh da glaube ich nicht so recht das getenv("remote_addr");

dieses findet die ip des users heraus ....

so nun nen tip:

finde die ip mit dem befehl raus, speichere sie in einer db/textdatei und lese sie wieder aus und vergleiche sie mit der die der jetzige user gerade hat .... fertig .....

hoffe du hast es kapiert :)
 
hi die IP habe ich alles. habe nicht das ganze script gepostet.also es ist alles da nur vergleichen tut er nicht richtig. habe mir auch das andere posting angesehen, kann es aber leider nicht verwenden.

danke erstmal vielleicht weiss ja jemand woran es liegt


ciao Marcel:(
 
teste erstmal meinen script bevor du einen kommentar dazu abgibst ! DU wirst sehen das er funktioniert !

Dann können wir weiter reden !
 
@ pixelfreak

warum denn gleich so agressiv ? also dein script macht doch eigentlich das gleiche wie meins, nur das ich halt mehrere DB einträge nacheinander durchgehe. also muss ich die funktionalität auch nicht ändern - es soll halt nur geprüft werden, wenn die ipalt=ipaktuell ob die aktuelle zeit 1 tag grösser ist, als die aus der DB !

also nichts gegen dein script, aber bei mir is nur ein kleiner denkfehler drin - den ich gerne lösen würde- nur ich finde ihn halt nich. muss doch möglich sein.

ciaoMarcel
 
du meintest das bei mir kein getenv... zu finden ist ! Und das brauch es auch nicht wenn du es mal getestet hättest !

NA EGAL ! :) :)

ICh weiss auch nicht warum deins nicht funktioniert !!
 

Neue Beiträge

Zurück