Sessioninhalt wird nicht ausgegeben

Vorne weg, es werden alle Dateien im Script mit folgendem aufgerufen z.B. das Forum:

index.php?d=forum

In der index.php wird einmal folgende Datei include "core.class.php" welche unter anderem die SESSION-Sachen wie oben enthält, desweiteren werden nun die Dateien über
PHP:
include("inc/".$d.".inc.php"
auf gerufen,daher das "$d".

Puhhhhh , so würde ich das Script nie schreiben. Aber gut, nun möchte ich gerne ein Chat einfügen. Da der User sich nicht in den Chat nochmals einloggen soll, benötige ich irgend etwas um auf eine andere PHP-Datei die sich dann im Unterverzeichnis "chat" befindet eine cookie/session oder table an folgende Funktion zu übergeben :

PHP:
function isLoggedIn()
{
   return $this->userid;
}

damit ein automatischen Login gemacht werden kann.

Ich hoffe ich habe es etwas besser erklären können.
 
Dann musst du nur noch in dem Script in dem ich die Kommentare gepostet habe die Daten die du möchtest in die Session speichern

PHP:
$_SESSION['UserId'] = $usrd[id];

oder so ähnlich. Dann müsstest du die Id in jedem beliebigen Script zur verfügung haben


Was sagt denn ein print_r am ende des scripts auf dem die Session gesetzt wird?
 
Das mit der Session einfügen hatte ich schon probiert, aber leider auch kein Erfolg
PHP:
if($usrd[id]!="")
    {
        $_SESSION[user] = $user;
        $_SESSION[pass] = $pass;
        $_SESSION[id] = $usrd[id];
        $lg="ok";
        mysql_query("UPDATE ".$dbx."_user SET online='".time()."' WHERE id='".$usrd[id]."'");
    } else {
        session_unset();
        $lg=""; }
    } else {
        session_unset();
        $lg="";
    }

Hatte es beim Posting nur raus genommen um das original wieder zu geben.

Hier mal der Link zum Login "http://www.findandflirt.de".
Username "alf" Passwort "test".

Dann folgende Datei http;//www.findandflirt.de/chat/test2.php mit folgendem Inhalt
PHP:
  session_start();
    echo "Sessionausgabe ".$_SESSION[id];
    echo "<br>";
    echo "<pre>\n";
    print_r($_GET);
    echo "<pre>\n";
    print_r($_POST);
    echo "<pre>\n";
    print_r($_REQUEST);
    echo "<pre>\n";
    print_r($_SESSION);
 
Ist das hier nur neu geschrieben oder fehlen da jedesmal die Anführungsstriche bei deinen Session-Variablen?

so müsste es eig sein

PHP:
        $_SESSION['user'] = $user;
        $_SESSION['pass'] = $pass;
        $_SESSION['id'] = $usrd['id'];
 
Wäre zu schön gewesen
PHP:
session_name("cls");
session_start();
if($_SESSION['user']!="") $user=strtolower($_SESSION['user']);
if($_SESSION['pass']!="") $pass=strtolower($_SESSION['pass']);

if($_POST['user']!="") $user=strtolower($_POST['user']);
if($_POST['pass']!="") $pass=strtolower($_POST['pass']);
if($user!="" && $pass!="" && $d!="logout")
{
    $mdc = mysql_query("SELECT * FROM ".$dbx."_user WHERE user = '".addslashes($user)."' AND pass = '".addslashes($pass)."'");
    $usrd = mysql_fetch_array($mdc);
    if($usrd['id']!="")
    {
        $_SESSION['user'] = $user;
        $_SESSION['pass'] = $pass;
        $_SESSION['id'] = $usrd['id'];
        $lg="ok";
        mysql_query("UPDATE ".$dbx."_user SET online='".time()."' WHERE id='".$usrd[id]."'");
    } else {
        session_unset();
        $lg=""; }
    } else {
        session_unset();
        $lg="";
    }

Keine Veränderung - leider :-)
 
Langsam muss ich auch überlegen ^^

änder mal flolgende Zeile

PHP:
if($user!="" && $pass!="" && $d!="logout")

so ab:

PHP:
if( ($user != "") && ($pass != "") && ($d != "logout"))
 
Leider keine Veränderung ! Der Login funktioniert ja und auch das Update der DB.
Auch kann man immer im Script abfragen ob der User eingeloggt ist in dem man die Variabel "$lg" abfragt. Aber dafür muss immer diese Datei eingebunden sein, das heist zum Abfragen aller Daten muss dieses immer wieder durchlaufen werden.
 
Habe es schon ein paar Mal gepostet mache es aber gerne nochmal hier die Seite,
die die Session abfragen soll.

PHP:
 session_start(); 
    echo "Sessionausgabe ".$_SESSION[id]; 
    echo "<br>"; 
    echo "<pre>\n"; 
    print_r($_GET); 
    echo "<pre>\n"; 
    print_r($_POST); 
    echo "<pre>\n"; 
    print_r($_REQUEST); 
    echo "<pre>\n"; 
    print_r($_SESSION);
 
Sry, hatte ich wohl übersehen =/

ich glaub nicht dass sich was ändert, aber änder mal in der Datei in der du die Session abfragt wieder

PHP:
 echo "Sessionausgabe ".$_SESSION[id];

in

PHP:
 echo "Sessionausgabe ".$_SESSION['id'];

ab. Man weiß nie... sonst bin ich langsam mit meinem Latein am Ende :confused:
 
Zurück