Seite 1 von 2
if else abfrage der session id
Verfasst: 17.10.2004 02:02
von Crossgolfer
nabend zusammen
wie schreibe ich eine if else abfrage:
if : session id nicht vorhanden print : "login" link to loginseite
else : session id vorhanden print : "logout" link to logout aus dem forum
bin leider nicht so der php freak und bräuchte daher die hilfe
wäre nett wenn sich jmd erbarmt

Verfasst: 17.10.2004 03:07
von Lord_Femto
hi crossgolfer
du kannst das sehr gut in der page_header.php datei im includes verzeichnis sehen.
Code: Alles auswählen
//
// Generate logged in/logged out status
//
if ( $userdata['session_logged_in'] )
{
$u_login_logout = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];
$l_login_logout = $lang['Logout'] . ' [ ' . $userdata['username'] . ' ]';
}
else
{
$u_login_logout = 'login.'.$phpEx;
$l_login_logout = $lang['Login'];
}
Verfasst: 17.10.2004 11:58
von Crossgolfer
ja aber meine frage ist ja wie kann ich das php mässig abfragen ob eine session id vorhanden ist und daraus dann machen das er entweder login oder logout schreibt ?
Verfasst: 17.10.2004 12:07
von Lord_Femto
hi
die frage wird auch in der session.php beantwortet:
Code: Alles auswählen
if ( !empty($session_id) )
{
echo 'Logout';
}
else
{
echo 'Login';
}
Wenn du jetzt natürlich mit templates arbeitest, dann musst du den bedingungen jeweils ne variable zuweisen und diese dann in der template abfrage einbinden.
Verfasst: 17.10.2004 12:30
von Crossgolfer
danke ersteinmal für deine antworten.
ich verzweifel nämlich schon fast

seit drei wochen versuche ich hier im board eine antwort auf eine frage zu bekommen die mit der jetzt zu tun hat.
zum problem:
um es einacher zu machen schau mal bitte
www.crossgolfforum.de
www.crossgolfforum.de/cgprob.jpg
so sind die frames aufgeteilt.
in dem linken ist die navi die nromal in der overall_header.tpl ist.
da möchte ich jetzt einen inframe setzen, der eine php datei aufruft in welcher die foren navigation steht. mit der gleichen funktionsweise als wenn sie ganz normal im header.tpl wäre.
deswegen diese abfrage ob eine session id vorhanden ist. anderst kann ich mir das nämlich nicht vorstellen wie man das umsetzen könnte
danke schon/ und nochmal

Verfasst: 17.10.2004 12:48
von Blutgerinsel
Dir ist dann hoffentlich klar das du das PHPBB in Frames umsetzen musst......
Die Session wird bei PHPBB wie könnte es auch anders sein im Header gestartet so dass keine Ausgabe ein Headersenden auslösen kann.....
Du darfst nun das ganze auf Frames umbauen......
Zu dem Thema Frames sage ich jetzt nichts.......
Verfasst: 17.10.2004 13:29
von Crossgolfer
Blutgerinsel hat geschrieben:Dir ist dann hoffentlich klar das du das PHPBB in Frames umsetzen musst......
nein ist mir nicht klar und ich weiss auch nicht was du damit meinst
Die Session wird bei PHPBB wie könnte es auch anders sein im Header gestartet so dass keine Ausgabe ein Headersenden auslösen kann.....
damit weiss ich auch nicht was du meinst.
Du darfst nun das ganze auf Frames umbauen......
was ? die page ? habe ich doch.
Zu dem Thema Frames sage ich jetzt nichts.......
danke

denn die meinung über frames der leute aus diesem bord kenne ich

und darum geht es mir auch garnicht, für mich ist da so einfach der optimale lösungsweg der hier aber nicht gegenstand der diskussione und dieses threads sein soll.
Verfasst: 17.10.2004 14:04
von Blutgerinsel
Das PHPBB besteht aus einer Anzahl an Tabellenverschachtelungen und dadurch das es getrennt in Header, Datebereich und Footer ist und du dieses in Frames haben willst....
Musst du dieses Table Layout entsprechend in die Frames umlagern und dafür sorgen das ein Klick in der Navi u.A. das Frame X aktualisiert....
Eine Session bzw. auch Header kann nur einmal übertragen werden demzufolge kannst du die Session bzw. Header nicht 2 mal gestartet bzw. gesendet werden. Wenn du das Board in die PAge integrierst hast du bereits durch die Page die Headerfile gesendet demzufolge wurde der HTTP Header schon gesendet...Dann dann aber die Session des Boardes im Header gestartet wurde wird todsicher die Fehlermeldung Header already sent erscheinen.......
Verfasst: 17.10.2004 14:16
von Crossgolfer
Blutgerinsel hat geschrieben:Das PHPBB besteht aus einer Anzahl an Tabellenverschachtelungen und dadurch das es getrennt in Header, Datebereich und Footer ist und du dieses in Frames haben willst....
ich will ja garnicht das borad in frames zerlegen. das board bleibt aus seinen drei elementen bestehen. ich habe nur die links wie profil login messages mebers usw aus dem overall_header.tpl rausgeholt.
und diese sollen jetzt in dem
frame 3 (navi) erscheinen. Es soll so aussehen wie jetzt nur fehlt mir halt noch die funktion das aus dem login (welcher funktioniert) aus dem login ein logout wird wie hier ja auch in dem.forum oben in der navi. und dafür wollte ich die if else sid abfrage machen!
Musst du dieses Table Layout entsprechend in die Frames umlagern und dafür sorgen das ein Klick in der Navi u.A. das Frame X aktualisiert....
Eine Session bzw. auch Header kann nur einmal übertragen werden demzufolge kannst du die Session bzw. Header nicht 2 mal gestartet bzw. gesendet werden. Wenn du das Board in die PAge integrierst hast du bereits durch die Page die Headerfile gesendet demzufolge wurde der HTTP Header schon gesendet...Dann dann aber die Session des Boardes im Header gestartet wurde wird todsicher die Fehlermeldung Header already sent erscheinen.......
ich glaube hier haben wir uns missverstanden, da ich ja nicht das board selber in 3 frames aufteilen will[/url][/quote]
Verfasst: 17.10.2004 15:11
von Lord_Femto
hi
hier muss ich aber mal dem blutigen gerinsel recht geben. du benutzt eindeutig frames. das sieht man. phpbb nutzt keine frames. vorteile und nachteile hin oder her, frames unterbrechen aber einfach die session. außerdem habe ich dir schon den code geliefert (siehe ersten post)
das problem sind einfach mal die frames. du könntest, wenn du es so haben willst, wie bei phpbb. die inhalte, die du jetzt in den frames hast, jeweils in eine extra spalte einer tabelle hauen.
z.b.
Code: Alles auswählen
<table>
<tr>
<td><img.......></td>
<tr>
<tr>
<td>der ganze linke inhalt</td>
<td>der ganze rechte bzw. mittlere inhalt</td>
</tr>
</table>