sessionverwaltung
-
Hi ich hab schon wieder probleme mit PHP folgendes funktioniert nicht
//index.php <? session_start(); session_register("name"); $name = "huber"; ?> <a href="weiter.php">weiter</a> //weiter.php <? session.start(); session_register("name"); echo $name;
Hab ich so aus nem Buch die option session_use_cookies ist auf on(bzw. 1) gestellt. Ich hab im Web noch n paar andere Beispiele gefunden die auch alle net funktioniert haben weder bei mir noch auf meinem Webserver und es is jetzt 5:26 und ich hab die schnauze voll. Kann mir bitte jemand sagen was ich da falsch mach.
MFG eiskalt
-
abgesehen davon das man session_register nicht mehr nimmt kannst du es in der weiter.php weglassen.
session_start();
_SESSION[name] = $name;session_start();
$name = $_SESSION[name];
-
Unix-Tom schrieb:
session_start();
_SESSION[name] = $name;session_start();
$name = $_SESSION[name];Warum so kompliziert?
session_start(); $_SESSION["name"] = "huber"; //kann auch ne var sein, die du da einfach zuweist, wie oben //Ausgabe in anderer Datei... session_start(); echo $_SESSION["name"];
Liebe grüsse
-
eiskalt schrieb:
Hi ich hab schon wieder probleme mit PHP folgendes funktioniert nicht
//index.php <? session_start(); session_register("name"); $name = "huber"; ?> <a href="weiter.php">weiter</a> //weiter.php <? session.start(); session_register("name"); echo $name;
Ich weiß nicht, was session_register macht. Ich nehme an ist wrapper für $_SESSION['name']=""; oder sowas in der Art. wenn du in weiter.php 'name' wieder registrierst, dann wird sie vielleicht gelöscht.
-
mrchat schrieb:
Warum so kompliziert?
Weil es Leute gibt die es so eifacher verstehen. Meist will man mit dem Inhalt weiterarbeuten.
-
Unix-Tom schrieb:
$_SESSION[name] = $name;
Achtung, du hast die ' um name herum vergessen.
So wie es jetzt da steht liest es PHP so:
Ah, name ist eine Konstante (define()). Also werden die Konstanten durchsucht. Vermutlich wird nichts gefunden - dann gibt es ein 'fallback' (eine dieser 'egal was der Programmierer macht, der Interpreter versucht es zu verstehen) auf name == 'name'.
Es ist also gefährlich $foo[name] statt $foo['name'] zu schreiben - denn ein define('name', $username); ist nicht so unwahrscheinlich und würde den Code brechen. (Mal abgesehen davon, dass $foo[name] langsamer ist als $foo['name'])