Entwickler-Ecke
Programmiersprachen (Server) - Daten in Session speichern
Marco D. - Sa 26.05.07 13:56
Titel: Daten in Session speichern
Quelltext
1: 2: 3: 4: 5: 6:
| $_SESSION['title_de'] = $_POST['title_de']; $_SESSION['title_eng'] = $_POST['title_eng']; $_SESSION['content_de'] = $_POST['content_de']; $_SESSION['content_eng'] = $_POST['content_eng']; $_SESSION['closed'] = $_POST['closed']; $_SESSION['mode'] = $_POST['mode']; |
Speichert man die geposteten Daten so in der Session?
Quelltext
1: 2: 3: 4: 5:
| $title_de = $_SESSION['title_de']; $title_eng = $_SESSION['title_eng']; $content_de = $_SESSION['content_de']; $content_eng = $_SESSION['content_eng']; $page_mode = $_SESSION['mode']; |
Weil das Session-Array leer ist beim Auslesen. :nixweiss:
Habe am Anfang session_start() zu stehen.
Moderiert von
UGrohne: C#- durch Code-Tags ersetzt
GTA-Place - Sa 26.05.07 14:35
Ist das Session-Array auf der selben Seite noch leer, oder nach Seitenwechsel? Wird die Session-ID in irgendeiner Weise übertragen?
Marco D. - Sa 26.05.07 14:39
GTA-Place hat folgendes geschrieben: |
Ist das Session-Array auf der selben Seite noch leer, oder nach Seitenwechsel? Wird die Session-ID in irgendeiner Weise übertragen? |
Nach Seitenwechsel. Sie wird nicht übertragen. Es funktioniert aber z.B. mit dem Benutzernamen auch. :roll:
Marco D. - So 27.05.07 16:47
Kann mir denn niemand helfen?
Martok - So 27.05.07 17:20
Marco D. hat folgendes geschrieben: |
Sie wird nicht übertragen. Es funktioniert aber z.B. mit dem Benutzernamen auch. :roll: |
:shock:
Also wenn die nicht übertragen wird, kann es eigentlich nicht gehen... Kein Cookie, kein GET-Parameter?
Ansonsten ist der Code erstmal ok. Sollte gehen ;)
Marco D. - So 27.05.07 17:31
Den Usernamen ermittelt man so bei uns:
Quelltext
1: 2: 3: 4: 5: 6:
| //gibt den Benutzernamen des eingeloggten Benutzers zurück function GetUserName() { if (!empty($_SESSION['name'])) return $_SESSION['name']; else return "Internal Error!"; } |
Und gespeichert wird das so:
Quelltext
1: 2: 3:
| $_SESSION['name'] = $username; $_SESSION['id'] = $assoc['id']; $_SESSION['lang'] = $assoc['lang']; |
niemals die session_id per URL übergeben!
Moderiert von
UGrohne: C#- durch Code-Tags ersetzt
Martok - So 27.05.07 17:39
Hm, dann wohl doch ein Cookie.
Bist du dir ganz sicher, dass das session_start() davor liegt? Ich hatte den Fall auch mal, aber mir war dann im Endeffekt nur ein include in der Zeile verrutscht.
Marco D. hat folgendes geschrieben: |
Weil das Session-Array leer ist beim Auslesen. :nixweiss: |
Hm, leere strings oder echt empty()?
Kannst ja mal ein var_dump($_SESSION) machen, einmal nach dem Schreiben und vor dem Lesen.
Christian V. - Mi 30.05.07 10:32
session_start(); muss auf jeder Seite sein, wo du Session Variablen verwendest, nicht nur einmal um eine zu starten.
Falls du Cookie-Basiert Session verwendest, dann muss das session_start vor irgendwelchen ausgaben stehen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!