Session & Strato

FabsNo1

Grünschnabel
Hallo Leute,

ich hoffe wirklich, dass mir jemand helfen kann. Bin echt mit den nerven durch. Ich habe mir ein LogIn Script gebastelt und das läuft auf mein lokalen Testumgebung auch fein. Dann habe ich es bei Strato hochgeladen und festgestellt, dass er die Variablen auf den Folgeseiten nicht auslesen kann. Dann habe ich mal eine reines Session Script (Siehe unten) hochgeladen und das läuft auch nicht. Auf einem anderen Kundenserver unter FreeBSD/Apache2.0 läuft es wiederrum einwandfrei:

1.php

<?PHP
session_start();
$test=4;
session_register(test);
header ("location: 2.php");
?>


2.php

<?PHP
session_start();
echo "$test";
?>

Habe lange nicht mehr programmiert, aber was kann man denn da falsch machen?

In meinen beiden Büchern PHP4+ Mysql (DataBecker) sowie PHP4 von Thomas Theis steht es genau so drinnen,...

Wer kann mir helfen?
 
Ich schätze mal, dass register_globals ausgeschaltet sind, teste doch mal:
PHP:
$_SESSION['varname']
 
Das ging aber schnell mit einer Antwort. Vielen Dank ;-)

globals off ? *grübel* Das kenne ich jetzt gar nicht was Du da vorschlägst. Da ich nicht wußte, ob mit $_SESSION['test'] eine Variable befüllt oder ausgelesen wird, habe ich beides ausprobiert. Leider ohne Erfolg. Oder habe ich da was missverstanden?:

1.php

<?PHP
session_start();
$test=4;
session_register(test);
header ("location: 2.php");
?>

2.php

<?PHP
session_start();
echo "$_SESSION['test']";
?>

Und dann noch:

1.php

<?PHP
session_start();
$_SESSION['test'] = 4;
session_register(test);
header ("location: 2.php");
?>

2.php

<?PHP
session_start();
echo "$test";
?>
 
Für den Fall, dass [Flex] schon schlafen gegangen ist:
1.php:
PHP:
session_start(); 
$_SESSION['test'] = 4;
header ("location: 2.php");
2.php:
PHP:
session_start();
echo $_SESSION['test'];
Ich geh' jetzt auch schlafen.
Gute Nacht,
Martin
 
Ja, verdammt. Hier gefällt es mir. Junge seid ihr schnell hier.

Habs probiert und es tut. Jetzt muß ich mich mal ein bisl in die Globals-Geschichte einlesen.

Super! Vielen Dank und gute Nacht... ;-)
 
Guten Morgn... ;)

register_globals ist eine Einstellung in der php.ini die vor einiger Zeit bei manchen Providern ausgestellt worden ist, wegen möglichen Sicherheitslücken dabei...
Seitdem müssen halt diese Prefixes benutzt werden wie $_SESSION, $_POST, $_GET, etc. etc....

So, und jetzt geh ich erstmal wirklich schlafen... ;)

Gute Nacht
 
Mit folgendem Code kannst Du testen ob die Option register_globals on oder off ist.

registerglobalscheck.php
PHP:
<?
if (!$_GET["test"])
	{
		header("Location:registerglobalscheck.php?test=1");
	}
?>
<html>
<body>
<?
if ($_GET["test"])
	{
		if ($test)
			{
				printf("register_globals=on<br>");
			}
		else
			{
				printf("register_globals=off<br>");
			}
	}
?>
</body>
</html>

Zum Thema session_register(test);
Laut der Doku zu session_register() soll besser direkt in das $_SESSION[] Array geschrieben werden, da session_register() bei register_globals=off nicht funktioniert.

php.net hat gesagt.:
If your script uses session_register(), it will not work in environments where the PHP directive register_globals is disabled.
 
Bin echt beeindruck. Vielen Dank. Ihr habt heute Nacht in 5 Minuten mein Problem gelöst. Mein LogIn tut inzwischen. Klasse.

Jetzt habe ich aber noch ein Problem, was wohl auch mit den globals = off zusammen hängt:

Mein Menu steurte die Seiten via includes an. D.H. ich haben einen Link und gebe dort dann den Parameter mit wie z.B. ?page=news oder ?page=kontakt. Nun, da kommt jetzt natürlich nichts mehr auf der anderen Seite an.

Dachte eigentlich, dass ist nun genauso wie bei den Sessions zu lösen:

$page = $_get['page'];

Funktioniert so aber leider nicht. Was übersehe ich da oder gibt es da auch was ganz Neues?

Lieben Gruß aus Stuttgart,...

Fabs
 
Zurück