Homepage Besucher Ip Adressen Script

Sorry war wirklich noch ein Fehler drin. Ist mir nicht aufgefallen weil ich nur mit meiner IP getestet habe ohne ein paar andere Werte in die TXT-Datei eizutragen.

Mit dieser Version geht es jetzt aber wirklich. Es ist auch eine Funktion "trimmen" dabei die die Leerzeichen aus dem Array entfernt. Dadurch klappt die Prüfung mit in_array dann auch besser.

PHP:
<?php

function trimmen (&$wert) {
	$wert = trim($wert);
}

date_default_timezone_set('Europe/Berlin');
$dateiname = date("d-m-Y",time()) .".txt";

$ip = $_SERVER['REMOTE_ADDR'];

if (file_exists($dateiname)) {
	$inhalt = file($dateiname, FILE_IGNORE_NEW_LINES);
	array_walk($inhalt, 'trimmen');

	if (!in_array($ip, $inhalt)) {
		$datei = fopen($dateiname, "a+");
		fputs($datei, $ip ."\r\n");
		fclose($datei);
	}
} else {
	$datei = fopen($dateiname, "a+");
	fputs($datei, $ip ."\r\n");
	fclose($datei);

}

?>
 
Danke und Kompliment.
Ich habe auch gerade dran geforscht und stelle hier noch weiteren Code rein wie man die Email dan verenden kann:

PHP:
<?php

date_default_timezone_set('Europe/Berlin');
$dateiname = date("d-m-Y",time()) .".txt";


$ip = $_SERVER['REMOTE_ADDR'];

$Hatgeklappt=0;

if (file_exists($dateiname))
{
    $inhalt = file($dateiname);

    if (in_array($ip."\r\n", $inhalt)==false)
    {
        $datei = fopen($dateiname, "a+");
        if(fputs($datei, $ip."\r\n")>0)$Hatgeklappt=1;
        fclose($datei);
    }
}
else
{
    $datei = fopen($dateiname, "a+");
    if(fputs($datei, $ip."\r\n")>0)$Hatgeklappt=1;
    fclose($datei);
}
if($Hatgeklappt==1)
{
$extra = "From: Homepage\n";
$extra .= "Content-Type: text/html\n Content-Transfer-Encoding: 8bit\n";
$empfaenger = "meineemail@d.de";
$betreff = "Anmeldung bei";
$domain = '<a href="http://www.d.de/'.$dateiname.'">http://www.d.de/'.$dateiname.'</a>';
$text = "Hi Hi, du hast Besucher auf deine Homepage www.d.de nnst, wenn
du mir nicht glaubst schau doch nach hier ist die Textdatei wo die IP Adresse
der Besucher steht: $domain ... siehst du ich sag doch du hast ein Besucher auf deiner
Homepage gehabt, echt ich mein das jetzt im Ernst, ich mache wirklich kein Witz, glaub
mir doch einfach, komm bitte :-)";
mail($empfaenger, $betreff, $text, $extra);
echo "haha".$domain;
}
?>
 
Zuletzt bearbeitet:
Jetzt gibt es noch Probleme mit Fehlermeldungen, über mein offline Server XAMPP klappt alles, aber wenn ich es hochlade auf meine Homepage bekomme ich die Meldungen:

PHP:
Warning: fopen(12-08-2010.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/datei.inc on line 27

Warning: fputs(): supplied argument is not a valid stream resource in /var/www/vhosts/datei.inc on line 28

Warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/datei.inc on line 29

Wie kann ich die schnell beseitigen?
 
Hast du die Textdatei selber auch auf den Server übertragen? Dann könnte es ein Rechteproblem sein.
In diesem Fall lösch die Datei und lasse sie neu erstellen.
 
Hast du die Textdatei selber auch auf den Server übertragen? Dann könnte es ein Rechteproblem sein.
In diesem Fall lösch die Datei und lasse sie neu erstellen.

Ne ich habe die Datei nicht selbst erstellt, ich habe nur den PHP Code gerade eingebaut in die Homepage und direkt die Fehlermeldung bekommen, die dürfte ja normal nicht kommen, egal ob die Datei schon besteht oder nicht? Also da die Datei noch nicht besteht wurde wohl eben versucht die Datei zu erstellen und das klappt nicht, muss man dafür Rechte verteilen vielleicht um eine Datei zu erstellen? Oder it der Dateiname nicht erlaubt? Irgendwie sowas vermute ich.
 
Komisch, dann sollte es diesen Fehler eingentlich nicht geben.

Schau dir mal die CHMODE-Funktion an, damit solltest du dieses Problem aber beheben können.

Zur Not schau auch mal ob es an den Rechten für das Verzeichnis liegt in dem sich die Datei befindet.
 
Es lag an den Rechten für den Ordner in dem die Homepage lag, die habe ich auf 777 geändert und nun klappts, danke für den Hinweis und Kompliment.
 
Hallo!

Zur Not schau auch mal ob es an den Rechten für das Verzeichnis liegt in dem sich die Datei befindet.
Da würde ich zuerst nachschauen.
Ich meine dass CHMOD 666 langen sollte..... einfach mal ausprobieren. ;)

Gruss Dr Dau

PS: unter Windows gibt es kein CHMOD, darum hat es auch mit XAMPP geklappt (der Server läuft allerdings unter Linux/Unix).
 
Bin gerade auf das Script von son gohan gestoßen, super, funktioniert einwandfrei.
Hab aber trotzdem mal ne Frage: besteht evtl. die Möglichkeit außer der IP auch anzeigen zu lassen, von wann bis wann sich der Besucher auf der HP aufgehalten hat?
 
Du kannst mit PHP zwar ermitteln wann der Besucher die Seite "betreten" hat, aber wie lange er da war das geht zumindest nicht genau.

Angenommen du speicherst beim ersten Aufruf die Uhrzeit (ist dann die "von" Zeit) zusammen mit der IP, dann kannst du immer wenn eine andere (oder auch die selbe) Seite aufgerufen wird die aktuelle Uhrzeit speichern (ist dann die "bis" Uhrzeit"). Verweilt der Besucher dann aber 5, 10, 15 Minuten ohne etwas anzuklicken wird diese Zeit nicht mehr mitgerechnet.

Ich täte dann aber mit einer Datenbank arbeiten, ist einfacher zu verwalten.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück