PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie speicher ich die IP eines Benutzers?



td0s
06.07.2009, 18:48
Hallo,

Ich wollte fragen ob es eine Möglichkeit gibt, das wenn jemand auf meine Seite geht seine IP-Adresse in einer log.txt gespeichert wird?!?

Am besten wäre z.B wenn mein Board down ist das dort stehen würde

Hello, "IP ADRESSE" we will back soon!

dabei soll aber auch gleichzeitig die ip gespeichert werden?!?

jemand ne idee?

int_main();
06.07.2009, 18:56
PHP und so?

VeN0m
06.07.2009, 18:57
Ganz einfach ;).



<?php

$ip = $_SERVER['REMOTE_ADDR'];
print "Hello ".$ip." we will be back as soon as possible!";

$handle = fopen("log.txt","a");
fwrite($handle,$ip."\r\n");
fclose($handle);

?>


Von oben nach unten:

Die Variable IP bekommt den Wert der IP. Diese liegt im Server-Array.
Danach wird eben ein Text ausgegeben.
Die danach folgende Zeile öffnet die log.txt zum schreiben und setzt den Zeiger an das Ende der Datei.
Fwrite schreibt die IP + PHP-Zeilenumbruch in die log.txt.
Fclose schließt die Datei wieder.

Das wäre es ;). Viel Spaß :).

td0s
06.07.2009, 19:15
Ja,

Hab genau das kopiert

<?php

$ip = $_SERVER['REMOTE_ADDR'];
print "Hello ".$ip." we will be back as soon as possible!";

$handle = fopen("log.txt","a");
fwrite($handle,$ip."\r\n");
fclose($handle);

?>

in eine index.php abgespeichert... aufm ftp geladen genau so wie eine leere log.txt

Nun, wenn man meine Seite öffnet steht dort nur das:

?php $ip = $_SERVER['REMOTE_ADDR']; print "Hello ".$ip." we will be back as soon as possible!"; $handle = fopen("log.txt","a"); fwrite($handle,$ip."\r\n"); fclose($handle); ?>

?!?

revan12
06.07.2009, 19:17
hastes auch als index.php gespeichert ?

td0s
06.07.2009, 19:19
jop... ist als index.php abgespeichert!

phlippi
06.07.2009, 19:21
Ja,

in eine index.php abgespeichert... aufm ftp geladen genau so wie eine leere log.txt

Nun, wenn man meine Seite öffnet steht dort nur das:


?!?

Anscheinend hat er als index.php abgespeichert. Normalerweise wird alles, was nicht in normalen Tags steht nur als Text dargestellt. Kann es sein, dass du ein "<" Am Anfang vergessen hast? Dein Quote lässt darauf schließen.

VeN0m
06.07.2009, 19:23
Ja, wird daran liegen. Die leere log.txt kannst Du Dir übrigens sparen, "a" erstellt automatisch eine, wenn diese nicht vorhanden ist ;).

td0s
06.07.2009, 19:27
Upppss... *schäm zu tode*

Habe tatsächlich das "<" vergessen... Trotz allem, ist die log.txt die das php script erstellt leer!

Könnte ich es eventuell auch noch so einstellen, das die IP unterstrichen ist und in rot ist?!?

phlippi
06.07.2009, 19:31
kannst du:


<?php

$ip = $_SERVER['REMOTE_ADDR'];
print "Hello <p style="color: red;"><u>".$ip."</u></p> we will be back as soon as possible!";

$handle = fopen("log.txt","a");
fwrite($handle,$ip."\r\n");
fclose($handle);

?>

td0s
06.07.2009, 19:37
achsoo... okay aber wieso wird das nicht in der log gespeichert?

phlippi
06.07.2009, 19:38
Probier doch einfach aus, bevor du fragst...


Könnte ich es eventuell auch noch so einstellen, das die IP unterstrichen ist und in rot ist?!?

Das könntest du damit.

c1ox
06.07.2009, 19:38
Du bist echt unfähig..
Du fragst ob man es rot und unterstreichen könnte...
Er postet dir den code und du was will man mir damit sagen?!
COLOR: RED das sollte sogar n kleines kind wissen....

td0s
06.07.2009, 19:41
Ja, ich hab mich verlesen man XD Ich sag doch ich bin einer der dähmlichsten NOOBS xD

Jetzt sieht meine index.php so aus:

<?php

$ip = $_SERVER['REMOTE_ADDR'];
print "Hello <p style="color: red;"><u>".$ip."</u></p> we will be back as soon as possible!";

$handle = fopen("log.txt","a");
fwrite($handle,$ip."\r\n");
fclose($handle);

?>

aber ehm auf der homepage ist zu sehen:

Parse error: syntax error, unexpected T_STRING in /mnt/web6/10/68/52104168/htdocs/extras/iplog/index.php on line 4

öh??... und ehm wieso speichert das nicht in der log.txt?

VeN0m
06.07.2009, 19:41
Color: red ist aber Blödsinn in diesem Fall. Schonmal daran gedacht, dass eine simple Textdatei keine Farben kennt? ;) Die Ausgabe wäre also das, was im Code steht.



Hello, <p style="color:red;"><u>127.0.0.1</u></p>. We will be back as soon as possible!


Ich würde zudem statt "p" lieber "font" oder "span" nutzen aber das ist ja Nebensache. Ich gebe aber C1ox in so fern Recht, dass Du einen vorgefertigten Code hast und diesen nicht nutzen kannst. Woran liegt das?

Naja... Unterstreichen in einer simplen Textfile wirst Du nicht hinkriegen ;).

EDIT: Ja, liegt daran, dass innerhalb der "" nochmal "" benutzt wurden (style=""). Du musst '' oder \"\" nutzen.

phlippi
06.07.2009, 19:43
Uh, hatte nen FEhler drin, sorry. So ist es richtig:


<?php

$ip = $_SERVER['REMOTE_ADDR'];
print "Hello <span style='color: red;'><u>".$ip."</u></span> we will be back as soon as possible!";

$handle = fopen("log.txt","a");
fwrite($handle,$ip."\r\n");
fclose($handle);

?>


Das mit der Ip muss an dir liegen. Bei Xampp klappt es perfekt.

Edit: Damn, Sven war schneller. Aber er hat Recht ;) Ja, hatte nicht bedacht, dass <p> nen Zeilenumbruch macht, wenn es geschlossen wird... Habs dann auch durch Span ersetzt ;)

td0s
06.07.2009, 19:46
@phlippi (http://free-hack.com/member.php?u=55353) kein problem ein fehler, kann jedem mal unterlaufen
ich bin überhaupt froh das mir jemand hilft... bei meinen 0 Können geben es die meisten eh auf ;)

VeN0m
06.07.2009, 19:48
Hast Du die log.txt mitlerweile gelöscht, die Du erstellt hast? Bzw.: Lag diese im selben Verzeichnis? Wenn Du in ein anderes Verzeichnis schreiben möchtest muss dieses bei der fopen()-Funktion mit angegeben werden



fopen("Ordner/datei.txt","a");


Und upps... Mir ist oben ein Fehler unterlaufen. Ich vergaß, dass Du ja auch auf der Seite die IP darstellen möchtest. Natürlich stimmt Phils Code in so weit. Bzw.: Wird die IP denn dargestellt oder ist es nur das Speicherproblem?

td0s
06.07.2009, 19:51
Funkt alles =) TY ^^