Sessions zerströren sich selbst 2

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Sessions zerströren sich selbst 2

Beitrag von witzigerkiller »

So, weniger code:

login.php

Sessions werden so registriert:

Code: Alles auswählen

while($daten = mysql_fetch_assoc($prufnow))
    {
        $_Session['id'] = $daten['id'];
        $_Session['Vorname'] = $daten['Vorname'];
        $_Session['Nachname'] = $daten['Nachname'];
        $_Session['Nickname'] = $daten['Nickname'];
        $_Session['Passwort'] = $daten['Passwort'];
        $_Session['Mail'] = $daten['Email'];
        $_Session['ICQ'] = $daten['ICQ'];
        $_Session['Geburtstag'] = $daten['Geburtstag'];
        $_Session['Geschlecht'] = $daten['Geschlecht'];
        $_Session['Hobbys'] = $daten['Hobbys'];
        $_Session['Land'] = $daten['Land'];
        $_Session['ip'] = $daten['ip'];
        $_Session['Status'] = $daten['STATUS'];
    }   
index.php

wie man soll, ist das ganz am anfang:

Code: Alles auswählen

<?PHP
Session_start();
?>
und so werde die sessions ausgelesen:

Code: Alles auswählen

<?PHP
if ($_Session['Status'] == "member")
{
     echo "menues/usermenue.php";
}
else
{
    if ($_Session['Status'] == "admin")
    {
        echo "menues/adminmenue.php";
    }
    else
    {
        echo "<form action=index.php?inhalt=login/login name=Login method=post>
        <input type=text name=logname size=15>
        <br />
        <input type=password name=passname size=15><br /><br /> 
        <input type=submit name=login value=Login />
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <a href=index.php?inhalt=register/registrieren>Register</a>
        </form>";
    }
}
?>
Wie gesagt wenn ich mich einlogge erscheint einmal das menü. wenn ich dann auif eine andere seite wechsel, dann ist das menü wieder weg und die sessions gelöscht.
Kann mir das einer erklären?


Bitte diesmal nicht schließen, ist echt wichtig
Benutzeravatar
Blutgerinsel
Mitglied
Beiträge: 1801
Registriert: 19.07.2004 18:53
Wohnort: Landkreis Ulm
Kontaktdaten:

Beitrag von Blutgerinsel »

Steht session_start(); in jeder Datei am Anfang bzw. wird diese in jeder File am Anfang includiert?

Nur Files in denen session_Start(); initiert wird, sind auch die Session Vars verfügbar
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

danke, dir aber ich habe den fehler muste $_session nur in $_SESSION wandeln. aber ich weiß net warum
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

Das liegt daran, dass PHP groß- und kleinschreibung unterscheidet

$test
$Test
$TEST

sind alles verschiedene Variablen
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

ok danke
Benutzeravatar
witzigerkiller
Gesperrt
Beiträge: 878
Registriert: 05.02.2005 13:27
Wohnort: Sonthofen

Beitrag von witzigerkiller »

habe wieder ein billiges prob:

Code: Alles auswählen

$newsselect = "Select * From news order by id desc limit 5";

$now = mysql_query($_newsselect);

while ($news = mysql_fetch_assoc($now))
der mecker, das mysql_fetch_assoc nicht valide ist, und kein myql befehl ist.

Ich kannmir denken, lieht am newsselect, aber hmm, ich will geordnet, von id haben, das habe ích, dann das limit 5 ? stimmt da im code was net, oder mus es wo anders dran liegen?
fanrpg
Mitglied
Beiträge: 2909
Registriert: 13.12.2004 22:41

Beitrag von fanrpg »

Code: Alles auswählen

$newsselect = "Select * From news order by id desc limit 5"; 

$now = mysql_query($newsselect); 

while ($news = mysql_fetch_assoc($now))
mristau2k5
Mitglied
Beiträge: 140
Registriert: 10.05.2005 02:35
Wohnort: Filderstadt

Beitrag von mristau2k5 »

witzigerkiller hat geschrieben:habe wieder ein billiges prob:

Code: Alles auswählen

$newsselect = "Select * From news order by id desc limit 5";

$now = mysql_query($_newsselect);

while ($news = mysql_fetch_assoc($now))
der mecker, das mysql_fetch_assoc nicht valide ist, und kein myql befehl ist.

Ich kannmir denken, lieht am newsselect, aber hmm, ich will geordnet, von id haben, das habe ích, dann das limit 5 ? stimmt da im code was net, oder mus es wo anders dran liegen?
hmm, versuchs mal mit

Code: Alles auswählen

$newsselect = "SELECT * FROM news ORDER BY id DESC LIMIT 5";

$now = mysql_query($newsselect);
// wenn du ne Verbindungsvariable für mysql hast, kann die im query auch verwendet werden mysql_query($_newsselect, $verbindung);

while ($news = mysql_fetch_assoc($now))
Man sollte mysql Befehle eigentlich immer groß schreiben, weil das alles fest vorgegebene Worte sind und dann Tabellen und sonstiges entweder klein, oder nur mit großen Anfangsbuchstaben

hier muss news und id genauso geschrieben sein, wie es in der db auch ist, am einfachsten ist es, mit Variablen oder Konstanten zu arbeiten, vor allem bei Tabellen.
Antworten

Zurück zu „Coding & Technik“