$_SESSION wird nicht übergeben

markus_re hat gesagt.:
jetzt habe ich nur noch folgende Fehlermeldungen:

Warning: Undefined variable: _SESSION in ...adress/intern.php on line 54

Warning: Undefined variable: _SESSION in ...adress/intern.php on line 55
Es scheint bereits ein Kontakt zu bestehen. Bitte melden Sie sich gegebenenfalls bei SLH.
Warning: Use of undefined constant REMOTE_ADDR - assumed 'REMOTE_ADDR' in ...adress/intern.php on line 84

Verwendest Du vielleicht $_SESSION vor oder ohne session_start()?
Du greifst wohl auf einen Array zu, genauer auf das Element REMOTE_ADDR.
Daher nehme ich an, dass es sich beim Array um $_SERVER handelt.
Du solltest REMOTE_ADDR in ' oder " setzen um es als String zu kennzeichnen.

So:
PHP:
echo $_SERVER['REMOTE_ADDR'];
 
Mmh, das bestaetigt meinen Verdacht!
Deine Version kennt das Superglobale Array $_SESSION gar nicht.
Ersetze das mal durch $HTTP_SESSION_VARS
 
Ich meine, dass erst ab Version 4.1.0 die vordefinierten Variablen $_SESSION, $_GET, $_SERVER etc. vorhanden sind. Vorher waren die selben Werte nur unter den Variablen $HTTP_SESSION_VARS, $HTTP_GET_VARS, $HTTP_SERVER_VARS etc. verfügbar.
Verwende deshalb einfach folgenden Code-Schnipsel am Anfang des Skriptes:
PHP:
<?php

	if( !isset($_SERVER) ) {
		$_GET     = &$HTTP_GET_VARS;
		$_POST    = &$HTTP_POST_VARS;
		$_ENV     = &$HTTP_ENV_VARS;
		$_SERVER  = &$HTTP_SERVER_VARS;
		$_COOKIE  = &$HTTP_COOKIE_VARS;
		$_REQUEST = array_merge($_GET, $_POST, $_COOKIE);
	}

	…

?>
 
@Joerg:
Ich denke der Vorschlag von Gumbo ist wohl besser, da die langen Variablennamen mittlerweile nur noch aus Gruenden der Abwaertskompatibilitaet mitgeschleppt werden und soweit ich weiss per php.ini deaktiviert werden koennen.
Daher ist es, in Hinblick auf Einsatz im Internet, wohl besser mit $_SERVER, $_GET, etc. zu arbeiten als mit den alten Namen.
 
Mit dem deaktivieren meinte ich jetzt eher die aktuellen Versionen wie PHP 4.4 oder 5.0.
Oder meinetwegen 4.3, welche ja im Internet wahrscheinlich noch haeufiger als 4.4 vertreten ist.
Man muss halt wenn man fuer's Internet programmiert das beste hoffen und mit dem schlimmsten rechnen. ;)
Wenn das Script ausschliesslich auf dem heimischen Server laufen soll kann man machen was man will. Z.B. sich auf register_globals verlassen, lange Array-Namen nutzen und und und.
 
Zurück