Seite 1 von 2
Kleine PHP frage
Verfasst: 07.07.2005, 21:08
von Wirths Media
Hallo,
woher kommt es, wenn ich einen Counter bastell, dass ich mal die IP vom Server bekomme und mal die vom Besucher...
kleines Beispiel:
www.domain1.de Seite wird geladen... In dieser Seite wird nen Counter includet... ( include ("counter.php") ) IP wird vom kunden angezeigt....
www.domain2.de ( Auch bei Strato, aber anderes Rechenzentrum )
Seite wird geladen... --> Include --> IP vom server wird angezeigt.
Hoffe ich habe mich einigermassen verständlich ausgedrückt.
Danke schon mal im Vorraus für die Antwort(en)
MfG
Daniel
Kleine PHP frage
Verfasst: 07.07.2005, 21:53
von LinkPop
Bei einem Include müßtest Du eigentlich immer die Server-IP geliefert bekommen, da der Server die zu includierende Datei anfordert und nicht der User.
Kleine PHP frage
Verfasst: 07.07.2005, 21:57
von Wirths Media
ja das schon, aber warum klappt das dann bei der ersten Seite?
MfG
Kleine PHP frage
Verfasst: 07.07.2005, 22:17
von wurzel
wie fragst du denn die ip ab?
Kleine PHP frage
Verfasst: 07.07.2005, 22:20
von Wirths Media
Ich frage die IP mit $_SERVER[REMOTE_ADDR] ab.
Kleine PHP frage
Verfasst: 08.07.2005, 06:48
von marc75
Bei einem Include müßtest Du eigentlich immer die Server-IP geliefert bekommen, da der Server die zu includierende Datei anfordert und nicht der User.
ist quatsch, Der Server bzw. php bindet die Datei die durch include() aufgerufen wird an der Stelle ein wo das include() steht, als ob man den Code an dieser Stelle geschrieben hätte, dann wird der code erst ausgeführt. (php4 und php5)
Re: Kleine PHP frage
Verfasst: 08.07.2005, 07:24
von LinkPop
marc75 hat geschrieben:
Bei einem Include müßtest Du eigentlich immer die Server-IP geliefert bekommen, da der Server die zu includierende Datei anfordert und nicht der User.
ist quatsch, Der Server bzw. php bindet die Datei die durch include() aufgerufen wird an der Stelle ein wo das include() steht, als ob man den Code an dieser Stelle geschrieben hätte, dann wird der code erst ausgeführt. (php4 und php5)
Ich bin davon ausgegangen, daß bei
www.domain2.de die Datei von
www.domain1.de includet wird -> ergo es wird die Server-IP von
www.domain2.de angezeigt, da die Datei bereits auf
www.domain1.de ausgeführt wird und dort in $_SERVER['REMOTE_ADDR'] somit die IP von
www.domain2.de abgelegt wird. Es wird also nicht der Code eingefügt, sondern das Ergebnis.
Re: Kleine PHP frage
Verfasst: 08.07.2005, 10:13
von auftragslinker
marc75 hat geschrieben:
Bei einem Include müßtest Du eigentlich immer die Server-IP geliefert bekommen, da der Server die zu includierende Datei anfordert und nicht der User.
ist quatsch, Der Server bzw. php bindet die Datei die durch include() aufgerufen wird an der Stelle ein wo das include() steht, als ob man den Code an dieser Stelle geschrieben hätte, dann wird der code erst ausgeführt. (php4 und php5)
is selber quatsch. ein include entspricht
nicht dem gleichen, als wenn der code reingepastet wäre. einfach vor dem include die ip an eine eigene variable übergeben:
$ip = $_SERVER.....
dann den include
include("
https://counterserver.de/blabla");
und in den inkludierten script dann nicht die umgebungsvariable, sondern die $ip abfragen.
oder um es einfacher zu gestalten:
include("
https://counterserver.de/blabla.php?ip=".$_SERVER['REMOTE_ADDR']);
mfg
auftragslinker
Kleine PHP frage
Verfasst: 08.07.2005, 10:36
von marc75
is selber quatsch. ein include entspricht nicht dem gleichen, als wenn der code reingepastet wäre. einfach vor dem include die ip an eine eigene variable übergeben:
naja auf domain1 und domain2 hab ich garnicht geachtet, hab nur folgendes gesehen
include ("counter.php")
dann wäre es auf dem selben server, war wohl noch zu früh für mich.
Kleine PHP frage
Verfasst: 08.07.2005, 11:58
von Wirths Media
Noch mal...
es handelt sich um zwei verschiedenen Server ( beide von Strato )
Beim 1 Server funktioniert alles...
Datei wird Includet --> IP ist richtig
Beim 2 Server ( es ist eine extra Datei die sich auf dem Server 2 befindet )
Datei wird Includet -- > IP vom Server wird angezeigt...
Verfasst: 08.07.2005, 12:21
von auftragslinker
zur not mal ein kleines script erstellen, wo
nur
<?
phpinfo();
?>
drin steht. dort bekommst du u.a. die Umgebungsvariablen angezeigt.
Muss nicht immer $_SERVER als Prefix haben. Heissen manchman auch $HTTP oder $ENV
zur not mal getenv("REMOTE_ADDR") ausprobieren.
aber wie gesagt:
sobald du includest, wie das aufrufende Script als Browser gesehen, dass logischerweise auch die IP des aufrufenden Scriptes, also des Servers anzeigt. Kann von conf zu conf unterschiedlich sein, was erklären würden, warum es bei domain1 klappt, auch wenn es sehr ungewöhnlich ist.
Kleine PHP frage
Verfasst: 08.07.2005, 13:55
von marc75
Beim 2 Server ( es ist eine extra Datei die sich auf dem Server 2 befindet )
wie jetzt, dachte jetzt du holst die counter.php von server1? liegt jetzt counter.php im gleichen dateipfadsystem wie die Datei die die counter.php includet?
wenn ja dann include nicht über http
Verfasst: 08.07.2005, 14:06
von auftragslinker
so wie ich das verstanden habe (korrigier mich)
domain1 greift auf domain1/counter.php zu
domain2 greift auf domain2/counter.php zu
Kleine PHP frage
Verfasst: 08.07.2005, 14:10
von Wirths Media
@auftragslinker
So ist das richtig....
Zugegriffen wird über den Pfad nicht über http
Ich muss noch dazu sagen
hab mit phpinfo geprüft... absolut identisch.... ( Ich glaube sogar jetzt, dass es der gleiche Server ist )
Kleine PHP frage
Verfasst: 08.07.2005, 14:13
von marc75
domain1 greift auf domain1/counter.php zu
domain2 greift auf domain2/counter.php zu
wenn counter dann noch jeweils im gleichen root liegt und er per systempfad oder DOCUMENT_ROOT includet dürfte es eigentlich keine probleme geben.