Fehlermeldung: Undefined index: REMOTE_ADDR

raedle

Grünschnabel
Hi,

habe mit php5 folgende Fehlerausgabe:

PHP Notice: Undefined index: REMOTE_ADDR...

an dieser Stelle im php-File ist folgende Anweisung:

$ip = $_SERVER['REMOTE_ADDR'];

Welches Problem verursacht an dieser Stelle diese Fehlermeldung und wie könnte ich dieses Problem beheben

Für Hilfe bin ich schon jetzt sehr dankbar!
Gruß.
raedle
 
Kann ich mir jetzt nicht erklären.
Was gibt denn
PHP:
print_r($_SERVER);
aus?

@Irgendjemand_1:
Das _ gehört da schon hin. Das ist eine globale Variable. Also wie z.b. $_POST
 
Hi fanste,

danke für die Antwort!

mit der print-Anweisung werden sämtliche Variablen mit den dazugehörenden Wertenausgegeben. Die Variable REMOTE_ADDR ebenfalls mit einem dazugehörenden Wert!

Gruß
raedle
 
hier kommt die Funktion, innerhalb derer die Fehlermeldung hervorgerufen wird

PHP:
function sessionCookieValue( $id=null ) {
		global $mainframe;		
	
		$type 		= $mainframe->getCfg( 'session_type' );
		
		$browser 	= @$_SERVER['HTTP_USER_AGENT'];
		
		switch ($type) {
			case 2:
			// 1.0.0 to 1.0.7 Compatibility
			// lowest level security
				$value 			= md5( $id . $_SERVER['REMOTE_ADDR'] );
				break;

			case 1:
			// slightly reduced security - 3rd level IP authentication for those behind IP Proxy 
				$remote_addr 	= explode('.',$_SERVER['REMOTE_ADDR']);
				$ip				= $remote_addr[0] .'.'. $remote_addr[1] .'.'. $remote_addr[2];
				$value 			= mosHash( $id . $ip . $browser );
				break;
			
			default:
			// Highest security level - new default for 1.0.8 and beyond
				$ip				= $_SERVER['REMOTE_ADDR'];
				$value 			= mosHash( $id . $ip . $browser );
				break;
		}		

		return $value;
	}

Vielleicht erkennst Du hier einen Fehler?
 
Wenn ich das Script übern den Apache aufrufe, funktioniert es einwandfrei. Nur wenn ich es über mein PHP Editor laufen lasse, geht es nicht.
 
fanste hat gesagt.:
@Irgendjemand_1:
Das _ gehört da schon hin. Das ist eine globale Variable. Also wie z.b. $_POST
Hmm jo schon ... Aus irgendeinem Grund war ich grad total davon überzeugt, dass da kein _ hin muss ...
Keine Ahnung warum, sry ;)
 
Kann es sein, dass es daran liegt, dass php5 mit irgendeiner Anweisung im Script nicht mehr zurecht kommt, mit der php4 keine Probleme hatte?

Der Grund könnte also an einer fehlenden Abwärtskompatibilität des php5-Standards liegen?!

Wenn ja, dann müsste man das Script an php5 anpassen!
 
Rufst Du das Script ueber den Browser auf oder ueber die Shell?

Ich wuerde auf jeden Fall nicht sagen, dass sich an $_SERVER von PHP4 zu PHP5 was geaendert hat.
Welchen Webserver setzt Du ein? Apache? Wie ist PHP dort eingebunden? Als Modul oder als CGI?
 
Zurück