Hallo,
Sorry, aber das:
echo $ENV['REMOTE_ADDR'];
ist Quatsch.
Die Ausgabe bei mir ist:
/
Ein Slash, nichts weiter.
Und nicht die gewuenschte IP-Nummer.
$ENV ist hier ein Pfad (String):
/etc/kshrc
Das gleiche steht in $_ENV['ENV']
und $ENV ist wohl nur verfuegbar,
weil hier register_globals=on ist.
Der Array $_ENV enthaelt bei mir ca. 40 Elemente,
aber keine einzige IP-Nummer.
echo "<p>Inhalt der Variable $_ENV:</p>\n";
echo "\n\n<pre>";
print_r($_ENV);
echo ")</pre>\n\n";
---
Wie kommt es nun zum "/" als Ausgabe Deiner Syntax?
Ich vermute folgendes:
Weil $ENV kein Array ist, meint PHP,
man wolle den x-ten Buchstaben des Strings.
$abc="abcdefghjklmnopqrstuvwxyz";
echo $abc[3]; // gibt den 4. Buchstaben, also "d";
// Bessere, eindeutigere und empfohlene Schreibweise:
echo $abc{3}; // gibt den 4. Buchstaben, also "d";
Weil 'REMOTE_ADDR' keine Zahl ist, wird
es als Null betrachtet, also will man
das Zeichen an Position Null, und das
ist der Slash.
Statt
$ENV['REMOTE_ADDR'];
koennte man geradesogut schreiben:
echo $ENV['gugus'];
Es wird ebenso "/" ausgegeben...
---
Ich brauche fuer die IP-Adresse immer
$ip = $_SERVER['REMOTE_ADDR'];
Daneben kriegt man sie auch mit
$ip = getenv ("REMOTE_ADDR");
Siehe auch das Manual (inkl. Benutzerkommentare) auf
http://www.php.net/manual/de/function.getenv.php
Bei register_globals=on steht die IP auch noch in $REMOTE_ADDR
$ip = $REMOTE_ADDR;
Gruesse,
Thomas
Dank /my/ automatisch ausgeblendet: JavaScript, ASP.
Manuell "ausgeblendet": Threads mit Frames, Iframes und Scrollbalken im Subject...
Bitte keine Mails mit Fachfragen - dafuer gibt es das Forum!