session_id() vorhanden; $_SESSION[] nicht?

hab1cht

Erfahrenes Mitglied
Hallo,
nach dem Login ist session_id() vorhanden und kann ausgegeben werden.
Während dem login erstelle ich allerdings auch noch die Variable $_SESSION['bla'], diese ist aber nicht vorhanden? (anfangs funktionierte alles, habe allerdings keine Ahnung was ich verändert haben könnte)

Weis jemand woran das liegen kann?

PHP-Version 5.2.5
register_globals = off

Vielen Dank im Voraus
MfG
hab1cht
 
Wurde die Variable $_SESSION['bla'] denn überhaupt mit i-etwas gefüllt?

Bsp:
$_SESSION['bla'] = "foobar"

Überprüf dies mal bitte.

Aber ein Codeschnipsel wäre auch nciht schlecht. Dann könnte man besser Fehler finden :)
 
Zuletzt bearbeitet:
Hallo,
in der Login Datei wird folgender Codeschnipsel ausgeführt:
PHP:
$sql = 'SELECT * FROM `user` WHERE `user` = "'.mysql_real_escape_string($user).'" && `pw` = "'.mysql_real_escape_string($passwort).'"';
$check = mysql_query($sql);
$check = mysql_fetch_array($check);
$userid = $check["ID"]; 
# Anmeldung der Userid als Sessionvariable
$_SESSION['userid'] = $userid;

Dann wird auf eine andere Seite weitergeleitet, dort kann ich session_id() ausgeben, $_SESSION['userid'] ergibt keine Ausgabe.


Werde mal überprüfen, ob in $_SESSION['userid'] wirklich etwas hineingeschrieben wird.

MfG
hab1cht
 
Versuch mal das

PHP:
$sql = 'SELECT * FROM user WHERE user = "'.mysql_real_escape_string($user).'" && `pw` = "'.mysql_real_escape_string($passwort).'" LIMIT 1';
$check = mysql_query($sql);
$result = mysql_fetch_array($check);
$userid = $result['ID'];
# Anmeldung der Userid als Sessionvariable
$_SESSION['userid'] = $userid;

Und lasse dir das mal ausgeben:

PHP:
echo '<pre>';
echo var_dump($_SESSION);
echo '<hr>';
echo var_dump($result);
echo '</pre>';
 
Hallo,
habe das Skript entsprechend geändert und es erfolgt folgende Ausgabe:
Code:
array(1) {
  ["userid"]=>
  string(1) "1"
}
array(12) {
  [0]=>
  string(1) "1"
  ["ID"]=>
  string(1) "1"
  [1]=>
  string(7) "name"
  ["user"]=>
  string(7) "name
  [2]=>
  string(14) "name@web.de"
  ["mail"]=>
  string(14) "name@web.de"
  [3]=>
  string(32) "1adbb3178591fd5bb0c248518f39bf6d"
  ["pw"]=>
  string(32) "1adbb3178591fd5bb0c248518f39bf6d"
  [4]=>
  string(1) "1"
  ["akt"]=>
  string(1) "1"
  [5]=>
  string(0) ""
  ["akt_code"]=>
  string(0) ""
}

-> Die UserId wird richtig ausgelesen und auch an $_SESSION['userid'] übergeben, allerdings geht sie unterwegs irgendwo verloren? Stellt sich die Frage warum geht session_id() nicht verloren?

MfG und schonmal vielen Dank
hab1cht
 
Hallo,
session_start() rufe ich in beiden Skripts auf.

EDIT: sonst könnte ich doch auch nicht auf session_id() zugreifen oder?

EDIT2: habe den Fehler gefunden, das ganze wurde von einer zusätzlichen Datei kontrolliert, in dieser wurde session_start nicht ausgeführt.

MfG
hab1cht
 
Zuletzt bearbeitet:
Zurück