Seite 1 von 1

sid und logout

Verfasst: 03.08.2007 09:37
von actin17
Hallo,

Ich habe eine Webseite und möchte das sich die User mit einem Login in die Webseite und auch in das Forum einloggen können. Es funktioniert auch soweit. Nur habe Ich 2 Probleme :

1. Wenn Ich mich einlogge, habe Ich bei Sid was stehen, sobald ICh dann auf einen Link klicke, kommt ist die Sid weg.
Wie kann Ich diese nun zufügen, so daß diese erhalten bleibt? Mit append sid(wie es beschrieben steht) krieg ich es nicht hin. Ich habe das Menu auch über include eingebunden.

Hier der Code :

<div id="menus">
<hr/>
<td style="white-space:pre; font-weight:bold;" align="right" valign="middle" ><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=regis3" class="menu_link" style="color:#C70202;">Home</a> | <? if (!$userdata['session_logged_in']) {?><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=login" class="menu_link">Login</a><?}?> | <a href="#forum.html" class="menu_link">Forum</a> | <? if (isset($_SESSION['MM_Username'])) {?><a href="<?php echo $_SERVER['PHP_SELF']?>?topic=strat" class="menu_link">Strategy</a><?}?> | <a href="#downloads.html" class="menu_link">Downloads</a> | <a href="#about.html" class="menu_link">About us</a> | <a href="'.append_sid("{$phpbb_root_path}index.php").'?mode=logout&sid='.$user->data['session_id'].'" class="logout">Logout</a>
</td>
<hr/>
</div>

2. Wie kann Ich mich auch dieser Seite ausloggen ? Denke mal es liegt an der SID oder ?

Hoffe mir kann jemand helfen.

Gruß

Dirk

Verfasst: 03.08.2007 10:10
von PhilippK
Das Verhalten mit der SID ist eigentlich normal. Beim ersten Aufruf wird allen Links eine SID angehangen, da nicht bekannt ist, ob das Session-Cookie funktioniert. Wenn das funktioniert, wird kein SID mehr hinzugefügt.
Siehe auch KB: phpbb_seite

Gruß, Philipp

Verfasst: 03.08.2007 10:34
von BB-BF-BM

Code: Alles auswählen

'.append_sid("{$phpbb_root_path}index.php").'?mode=logout&sid='.$user->data['session_id'].'
Das sieht etwas merkwürdig aus.

1. wenn du schon den $phpbb_root_path verwendest, nimm auch $phpEx
2. Ausloggen geschieht normalerweise in der login.php bzw. ucp.php
3. die SID wird bereits per append_sid() in die URL eingefügt (sofern kein entsprechender Cookie gesetzt werden konnte)
4. Je nach phpBB-Version sollte es so aussehen:
phpBB 2:

Code: Alles auswählen

'.append_sid("{$phpbb_root_path}login.$phpEx?mode=logout").'

phpBB 3:

Code: Alles auswählen

'.append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout').'
5. Das hier:

Code: Alles auswählen

<div>
<hr/>
<td>...</td>
<hr/>
</div> 
hat wenig mit validem und semantisch sinnvollem HTML zu tun...

Verfasst: 03.08.2007 13:05
von actin17
Zunächst einmal vielen Dank für die schnellen Antworten.

Ich habe verschiedene Arten/Versionen von append sid versucht. Aber Ich bekomme immer die Meldung das das Objekt(?) nicht gefunden wird (NL Windows Version). Error 404.

meine verzeichnis struktur sieht so aus : root/tp3/p4 (p4=phpbb root verzeichnis). In tp3 liegt die index datei und eben die includes. in p4 die ganzen php. Wie muß Ich nun den append sid lnk in die datei einfügen ?
Das mit den If userdata... kann ich doch so lassen oder da ja einige menupunkte nur angezeigt werden sollen, wenn man eingeloggt ist.

Auch weiß Ich noch nicht ob Ich die Session bzw. SID bei den verlinkten Seiten benötige und wenn ja, wie mache Ich das ?

Sorry für all die Fragen.

Gruß

Dirk

P.S. das HTML wird noch angepaßt, ist nur testhalber :wink:

Verfasst: 03.08.2007 13:31
von actin17
PhilippK hat geschrieben:Das Verhalten mit der SID ist eigentlich normal. Beim ersten Aufruf wird allen Links eine SID angehangen, da nicht bekannt ist, ob das Session-Cookie funktioniert. Wenn das funktioniert, wird kein SID mehr hinzugefügt.
Siehe auch KB: phpbb_seite

Gruß, Philipp
Hi Philipp,

Muß Ich nun etwas ändern oder geht das automatisch ? Meine damit = Wenns über Cookies geht oder SID ?

Dirk

Verfasst: 03.08.2007 17:08
von actin17
Habs so gemacht :

$loy = 'login.'.$phpEx.'?logout=true&sid=' . $userdata['session_id'];

und als Link :

<? echo $loy; ?> mit a href.

Also es klappt, aber :

Nun komme Ich aber nach dem Logout auf die Startseite des Forums. Ich will aber nur dort die logout Funktion nutzen und dann wieder zurück zu meiner Seite.

Wenn mir hier noch jemand helfen könnte.

Gruß

Dirk

Verfasst: 03.08.2007 18:16
von actin17
Habs nun perfekt hinbekommen.

mein letzter Post, versprochen. :grin:

Verfasst: 04.08.2007 11:28
von Dr.Death
Dann poste doch mal Deine komplette Lösung :-)

Und, btw, seinen letzten Beitrag kann man editieren, dann umgeht man den KB:16 - Topic Bumping....