Witam,
Przed reinstalacją apache2 (musiałem bo coś się mi zepsuło w mysql i wszytko wyrzuciłem) wszytko dobrze mi działało, pobierało IP użytkownika, który wchodzi na stronę.
Teraz za każdym razem wywołanie
<?php
$userip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
echo($userip);
?>
zwraca 127.0.0.1 a host pobiera taki: localhost.localdomain
czyli co jest nie tak? ustawione, może za to odpowiadać etc.
Dziękuję i pozdrawiam
sadistic_son
8.04.2011, 14:16:20
$HTTP_SERVER_VARS używało się jeszcze przed Jezusem. w XXI wieku stosuje się $_SERVER['REMOTE_ADDR'];
Po reinstalacji zapewne nowsza wersja php Ci się wrzuciła.
Ilware
8.04.2011, 14:17:02
spróbuj z $_SERVER jest superglobaloną może coś pomoże
Giluś
8.04.2011, 14:35:15
Jak to robisz na LocalHoscie to Ci wyskoczy 127.0.0.1, a na normalnej stronie już ci wyskoczy prawdziwe IP, bynajmniej tym kodem: $_SERVER['REMOTE_ADDR'];
yevaud
8.04.2011, 14:43:19
Cytat
bynajmniej tym kodem: $_SERVER['REMOTE_ADDR'];
bynajmniej ?
mat-bi
8.04.2011, 14:49:12
$_HTTP_SERVER_VARS już dawno nie jest używane. Teraz jest supertablica $_SERVER, a w niej element REMOTE_ADDR, przechowujący ip.
EDIT:
Zapomnialem. Jeśli wchodzisz na stronę z tego samego kompa, na którym jest serw, wtedy masz REMOTE_ADDR równe 127.0.0.1
to nie jest na localhoście tylko serwerze, jednak używałem $_SERVER['REMOTE_ADDR']; tylko w pierwszym poście skopiowałem to inne bo sprawdzałem wszystkie.
o dziwo działa tylko:
$_SERVER['HTTP_X_FORWARDED_FOR']
yevaud
8.04.2011, 19:24:52
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.