• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

session liest nur teilweise aus, was ist da falsch?

Status
Für weitere Antworten geschlossen.

XraYSoLo

Senior HTML'ler
tagchen,

ihr erinnert euch vielleicht noch an meinen letzten beitrag mit dem login-problem. ich hab' das jetzt auf eine zeile präzisieren können.
eine vereinfachte form: ich registriere eine session und gebe ihr einen wert mit, die in der datenbank angegebene mail-adresse. wenn ich jene aber aufrufen will, wird nichts ausgegeben.

PHP:
var_dump($_SESSION);

sagt mir, dass die mail-adresse leer ist

hier das komplette script:

PHP:
<?php
session_start();

var_dump($_SESSION);

include('../mysql/config.inc.php');

$conn2 = @mysql_connect($_access_2['db_host'], $_access_2['db_user'], $_access_2['db_pass']) or die(mysql_error());

$db_select = mysql_select_db($_access_2['db_name'], $conn2);
$sql = "SELECT mail_users_1 FROM users_1";
$result = mysql_db_query($_access_2['db_name'], $sql);


             $user = mysql_fetch_object($result);
             $_SESSION[mail_users_1] = $user->mail_users_1;
             
             /* hier SOLLTE etwas ausgegeben werden... */
             echo $user->mail_users_1;
?>

so, das dürfte jetzt für die php-kisten hier kein problem mehr sein (hoffentlich)...ich komm' einfach nicht mehr weiter.

also: mail_users_1 hat keinen wert und kann nicht ausgegeben werden. wieso?

Nils aka XraYSoLo
 
Werbung:
Tach XraYSoLo,

zuviele var_dumps haben bei mir beim debuggen noch nie geschadet. Im Zweifelsfall baue ich das nach jeder Zeile ein, in der irgendwas schief gehen könnte. Deinen Code würde ich so testen:

PHP:
<?php
error_reporting(E_ALL);
session_start();

echo '<hr>';
var_dump($_SESSION);

include('../mysql/config.inc.php');

$conn2 = @mysql_connect($_access_2['db_host'], $_access_2['db_user'], $_access_2['db_pass']) or die(mysql_error());

$db_select = mysql_select_db($_access_2['db_name'], $conn2);
$sql = "SELECT mail_users_1 FROM users_1";
$result = mysql_query($sql, $conn2);

$user = mysql_fetch_object($result);
echo '<hr>';
var_dump($user);

$_SESSION['mail_users_1'] = $user->mail_users_1;
echo '<hr>';
var_dump($_SESSION);
             
/* hier SOLLTE etwas ausgegeben werden... */
echo $user->mail_users_1;
?>

Da Du eine DB benutzt und ich den Inhalt der config.inc.php nicht kenne, kann ich den Code bei mir leider nicht ausführen.

Zusätzlich würde ich auch $_SESSION['mail_users_1'], also mit Anführungszeichen schreiben und mysql_query statt mysql_db_query benutzen.

Wenn Du jetzt die Ausgabe des Skripts postest, kann ich mir das weiter anschauen.

Viele Grüße,
Charlie07
 
Werbung:
Wie wäre es mit einem
PHP:
echo '<pre>';
var_dump($user);
echo '</pre>';
nach dem Aufruf von mysql_fetch_object()?

Die Ausgabe würde mich interessieren.

Das var_dump($_SESSION) gibt doch einfach nichts aus, weil zu dem Zeitpunkt noch gar nichts drin ist ... irgendwie logo, oder?
(außer die Seite wird irgendwann mal neu aufgerufen und die Information wurde uns nicht gegeben!)

Grüße, Ben.
 
Leider tut der zweite Link (check_login.php) nicht. Hast Du schon mal die Vorschläge von Ben und mir ausprobiert? Was kam denn da raus? Oder hat sich Dein Problem schon erledigt?
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben