Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Woher kommen die Besucher? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Woher kommen die Besucher?


 
Herbärt
14-09-2006, 17:29 
 
Also, ich wollte mir mal en skript machen, wo in ne Datei geschrieben wird, woher die Besucher kommen, das sieht so aus:

<?php

$info="<a href='";
$info.=$_SERVER['HTTP_REFERER'];
$info.="'>";
$info.=$_SERVER['HTTP_REFERER'];
$info.="</a>";

$datei= fopen("info.html","w");
$output = fwrite($datei,$info);
fclose($datei);
?>

aber das funktioniert nicht... weiß jemand wo hier der fehler liegt? Ich finde selbst keinen :(

 
wahsaga
14-09-2006, 17:34 
 
Original geschrieben von Herbärt
aber das funktioniert nicht...
Das ist keine brauchbare Problembeschreibung - bitte abgewöhnen.

Und lerne Debuggen - mache Kontrollausgaben, was ergibt echo $_SERVER['HTTP_REFERER'];?
Wird etwas in die Datei geschrieben, wenn du statt $_SERVER['HTTP_REFERER'] einen statischen Wert einsetzt?


Und dein error_reporting hast du ja hoffentlich bereits so eingestellt, wie's in den Regeln (http://www.php-resource.de/forum/showthread.php?s=&threadid=50454) steht?

 
combie
14-09-2006, 17:43 
 
liefert der Browser überhaupt einen REFERER

 
Herbärt
14-09-2006, 18:00 
 
lol, ich hatte 3 stunden nach dem befehl gesucht, dass man sieht von welcher seite ein besucher kommt und jetzt geht der nichtmal...

ich hab ne datei gemacht, dir nur den inhalt

<?php

echo $_SERVER['HTTP_REFERER'];

?>


hat und die seite ist einfach leer, toll :(

kennt vielleicht jemand von euch den befehl dafür? das skript wäre hauptzächlich dafür da, damit ich seh ob leute auf meine seite durch linkkataloge, unter welchen suchbegriffen bei google usw. die besucher kommen.

 
combie
14-09-2006, 18:04 
 
Da gibts keinen Befehl für!!
Das ist Browser. Proxy und webfilter(z.B. Norton) abhängig.....

 
Herbärt
14-09-2006, 18:11 
 
aber sehr viele leute sagen, dass sie in ihrer statistik von ihrem server sehen, durch welche suchwörter leute auf ihre seite gekommen sind.
Daraus schließe ich, dass es einen Befehl dafür geben muss, oder wie sollen die das sonst machen?

 
wahsaga
14-09-2006, 18:13 
 
Original geschrieben von Herbärt
aber sehr viele leute sagen, dass sie in ihrer statistik von ihrem server sehen, durch welche suchwörter leute auf ihre seite gekommen sind.
Daraus schließe ich, dass es einen Befehl dafür geben muss, oder wie sollen die das sonst machen?
Wenn der Client des Nutzers einen Referrer übermittelt, und dieser wahrheitsgemäß ist - ja, dann kann man solche Schlüsse ziehen.

Es gitb aber keine Verpflichtung des Clients, das zu tun - im Referrer kann auch nichts, oder auch "Ho!Ho!Ho!" drinstehen, wenn der Nutzer das so eingestellt hat.

Und auch einige Firewalls/Proxies filtern den Referrer heraus.

 
Herbärt
14-09-2006, 18:16 
 
ok, aber angenommen ich habe besucher auf meiner seite die einen referrer übermitteln, wie wäre dann der befehl dafür? ist da miener richtig?

 
wahsaga
14-09-2006, 18:20 
 
Original geschrieben von Herbärt
ok, aber angenommen ich habe besucher auf meiner seite die einen referrer übermitteln, wie wäre dann der befehl dafür? ist da miener richtig?
Das ist kein Befehl, sondern ein Eintrag in einem Array, also eine Variable.

Und ja, sieht korrekt aus.

 
onemorenerd
14-09-2006, 18:37 
 
Wenn bei dir echo $_SERVER['HTTP_REFERER']; nichts ausgibt, dann könnte es daran liegen, dass du nicht über einen Link auf diese Seite gekommen bist sondern zum Beispiel die URL direkt im Browser eingegeben hast. Wäre das möglich?

 
Herbärt
14-09-2006, 20:55 
 
ich weiß woran es gelegen hat, ich habe die Datei falsch abgespeichert. Nun funktioniert es, vielen Dank für eure Hilfe :)

 
Herbärt
15-09-2006, 22:41 
 
Gerade habe ich aber noch was gefunden, was nicht funktioniert.
Und zwar schreibt es jetzt zwar in eine Datei woher der benutzer kommt, aber nicht untereinander sondern es löscht immer den bisherigen eintrag und fügt den anderen an der stelle ein. Eigenltich soll es aber wie eine liste immer untereinander geschrieben werden. Hat jemand ne ahnung was ich da ändern muss? Im Moment sieht das skript so aus:

<?php

$info="<a href='";
$info.=$_SERVER['HTTP_REFERER'];
$info.="'>";
$info.=$_SERVER['HTTP_REFERER'];
$info.="</a><br>";

$datei= fopen("info.html","w");
$output = fwrite($datei,$info);
fclose($datei);

?>

 
3DMax
15-09-2006, 23:01 
 
onlinedoku: fopen() (http://www.php.net/manual/de/function.fopen.php) sieh dir an, was 'w' bewirkt und welche alternativen es gibt.

 
Herbärt
15-09-2006, 23:23 
 
ich hab jetz fopen mit a anstatt mit w gemacht, aber jetzt gibts immer noch 2 sachen:

einmal wird jetzt immer alles unten angehängt, obwohl es ja eigentlich oben angehängt werden sollte
und wenn ich mir jetzt den quelltext anschaue, da ist einfach alles in einer reihe, anstatt dass nach jedem eintrag ein absatz is, wie kann man die beiden probleme lösen?

 
3DMax
15-09-2006, 23:38 
 
zu1.) wenn es nicht angehängt werden soll, musst du den kompletten dateiinhalt auslesen, mit dem neuen eintrag verketten (vorne anhängen) und den ganzen inhalt wieder wegschreiben.

zu 2.) zeilenumbruch: "\r\n", "\n" oder auch "\r" an jeden neuen eintrag anhängen.
http://de.wikipedia.org/wiki/Zeilenumbruch

 
Herbärt
15-09-2006, 23:42 
 
die 2 hab ich hinbekommen, aber wie funktioniert die 1?

 
wahsaga
16-09-2006, 15:31 
 
Könntest du bitte versuchen, das selber herauszufinden, in dem du dir erst mal die Funktionen des Dateisystem in Manual anschaust ...?


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:47 Uhr.