Hilfe! Wert einer Sessionvariable geht verloren

  • Themenstarter Themenstarter Flunster
  • Beginndatum Beginndatum
F

Flunster

Hallo,

was kann der Grund für ne verlorenen Sessionvariable sein? Die Variable ist zwar registriert hat aber nicht mehr den Wert den sie vorher hatte!
 
Also so ganz ohne Code kann man nur wild spekulieren. Ursache könnte die fehlende Übergabe der Session-ID sein oder auch das Ansprechen der Session-Variablen ohne das superglobale Array $_SESSION und die damit verbundene Gefahr der Wertüberschreibung. Das wären zwei Sachen, die mir so spontan einfallen.

Wie gesagt, mit etwas Code von dir kann man da schon konkreter analysieren.
 
Ich mach das auf den seiten so.
Vieleicht hilfts. Aber sag genaueres. Code usw.
Session Start mit Cookie

PHP:
include ("config.php");
include ("include.php");

session_start();

$username = $_POST[username];
$password = $_POST[password];
$conn = mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name, $conn);
$sql = "SELECT * from playerstats where player_name = \"$username\" and password = \"$password\"";
$result = mysql_query($sql, $conn) or die(mysql_error());
if(mysql_num_rows($result) == 1) {
        $getcode_sql = "SELECT code from playerstats where player_name = \"$username\"";
        $result = mysql_query($getcode_sql, $conn);
        $code = mysql_result($result, 0, 'code');
        
        $_SESSION['usercode'] = $code;
        $_SESSION['loggedin'] = "true";

Überprüfung ob User angemeldet ist, oder nicht

PHP:
function check_login() {
        include ("config_local.php");
        if($_SESSION['loggedin'] != "true" || !isset($_SESSION['usercode'])) {
                //print "Du musst dich einloggen.";
                header ("Location: login.php");
        } else {
                $conn = mysql_connect($db_host, $db_user, $db_pass);
                mysql_select_db($db_name, $conn);
                $thecode = $_SESSION[usercode];
                settype($thecode, 'integer');
                $sql = "SELECT player_name FROM playerstats where code = $thecode";
                $result = mysql_query($sql, $conn);
                $name = mysql_result($result, 0, 'player_name');
                return $name;
        }
}

*** "Code" ist bei mir wie eine ID, nur damit man weiß was das hier im Code ist :)
 
Zurück