Hallo,
obwohl das Thema bereits mehrere Male behandelt wurde habe ich für mich keine Lösung gefunde. Im Moment versuche ich es gerade wieder mit serialisieren.
Folgendes:
Habe eine Login Seite, die mir ein Neues Objekt aus Username und Password erstellt. Dieses soll in einer Session gespeichert werden, damit ich immer wieder auf die beiden Sachen komme und diese nciht verstekct im Formular, bzw. per URL übergeben muß. In der Loginseite wird die Detailseite "included". Das geht alles wunderbar.
Nachdem auf dieser Änderungen gemacht werden, wird das Formular per PHPSELF wieder auf die Login.php geschickt. Dort sind die Daten der Session jetzt leider verloren gegangen.
Der Aufbau ist folgender maßen.
(Login.php)
(details.php)
Ich hoffe, daß ich das Problem so gut und kurz es ging beschrieben habe. Vielen Dank
obwohl das Thema bereits mehrere Male behandelt wurde habe ich für mich keine Lösung gefunde. Im Moment versuche ich es gerade wieder mit serialisieren.
Folgendes:
Habe eine Login Seite, die mir ein Neues Objekt aus Username und Password erstellt. Dieses soll in einer Session gespeichert werden, damit ich immer wieder auf die beiden Sachen komme und diese nciht verstekct im Formular, bzw. per URL übergeben muß. In der Loginseite wird die Detailseite "included". Das geht alles wunderbar.
Nachdem auf dieser Änderungen gemacht werden, wird das Formular per PHPSELF wieder auf die Login.php geschickt. Dort sind die Daten der Session jetzt leider verloren gegangen.
Der Aufbau ist folgender maßen.
(Login.php)
PHP:
<?php
require_once("./Userclass.php");
$ThisUser = new User(); //habe gelesen, daß man das Objekt vor session_start instanzieren soll
session_start();
if(!isset($_SESSION['USERDATA']))
{
$ThisUser = new User($username,$password); //eigentliche Instanz, $usernmae und $password kommen aus Loginformular
$SessUser = serialize($ThisUser);
$_SESSION['USERDATA'] = $SessUser;
}
else
{
$ThisUser = unserialize($_SESSION['USERDATA']);
}
$check = $ThisUser->CheckUser();
if ($check == 1)
{
include ("./details.php");
}
?>
(details.php)
PHP:
require_once("./Userclass.php");
$ThisUser = new User();
session_start();
$ThisUser = unserialize($_SESSION['USERDATA']); //funktioniert
if(!isset($_SESSION['USERDATA']))
{
echo "<br>Bitte erst einloggen<br>";
}
<?php echo "<form action='$PHP_SELF' method='post'>\n";?>
//...
//ab hier kommt jetzt nen Formular, was mit Daten gefüllt ist und geändert werden kann
//per Submit-Button
//wenn das Formulat abgeschickt wird, sind die Information aus der Session in der login.php weg :-(
Ich hoffe, daß ich das Problem so gut und kurz es ging beschrieben habe. Vielen Dank