Seite 1 von 2

Problem bei der Implementierung

Verfasst: 02.09.2006 17:30
von Phantom51084
Hallo,

hab das Forum in meine HP integriert und das einloggen funzt auch. Jetzt habe ich gelesen, dass man noch prüfen muss, ob die Session existiert, damit ich auch eingeloggt bleibe.

In welcher Datei vom Forum mache ich das und wie geht es? Danke im VOraus!

Re: Session-Existenz prüfen

Verfasst: 02.09.2006 19:46
von Tobi91
Phantom51084 hat geschrieben:Hallo,

hab das Forum in meine HP integriert und das einloggen funzt auch. Jetzt habe ich gelesen, dass man noch prüfen muss, ob die Session existiert, damit ich auch eingeloggt bleibe.

In welcher Datei vom Forum mache ich das und wie geht es? Danke im VOraus!
Den Code hier musste in jeder Datei einfügen um die Sessions zu checken:

Code: Alles auswählen

// session id check
if (!empty($HTTP_POST_VARS['sid']) || !empty($HTTP_GET_VARS['sid']))
{
	$sid = (!empty($HTTP_POST_VARS['sid'])) ? $HTTP_POST_VARS['sid'] : $HTTP_GET_VARS['sid'];
}
else
{
	$sid = '';
}
Wenn du bestimmte seiten deiner HP für registrierte Mitglieder machen willst, brauchst du den Code hier:

Code: Alles auswählen

if ( $userdata['session_logged_in'] ) 
{ 
    // Hier kommt der Code (PHP) hin, wenn eingeloggt
} 
else 
{ 
    // Hier der Code (PHP) wenn nicht eingeloggt
}

-Tobi91

Verfasst: 02.09.2006 19:57
von Phantom51084
Hm,

den Code habe ich schon zum Beispiel in der index.php drin, aber es tritt trotzdem das problem auf, dass das Forum denkt, ich sei nicht eingeloggt, obwohl ich als registrierter Nutzer in der Statistik stehe und die Session durch mein externes Login in die phpbb_session eingetragen wurde.

Die tabelle sieht folgendermaßen aus, wenn ich mich in meiner HP einlogge..

Code: Alles auswählen

[meine sid] | 65 (userid) | timestamp1 | timestamp2 | hex-ip | 0 (sessionpage) | 1 (session_logged_id);
Klicke ich jetzt auf "forum" (die Sid wird an der URL übergeben) wird ein zweiter Eintrag in die phpbb_sessions eingetragen

Code: Alles auswählen

[neue sid] | -1 (userid) | timestamp1 | timestamp2 | hex-ip | 0 (sessionpage) | 0 (session_logged_id);
Wie kann ich das verhindern, bzw ihm sagen, dass ich doch eingeloggt bin?

Verfasst: 02.09.2006 20:04
von Tobi91
Warum machst du eigentlich 2 Themen mit dem gleichen Problem auf:

http://www.phpbb.de/viewtopic.php?t=130101

??

Verfasst: 02.09.2006 20:26
von Phantom51084
Ich hatte die Frage auch noch in anderen Foren gestellt und kam einfach durcheinander. Tut mir leid.

hast du trotzdem eine Idee?

Verfasst: 02.09.2006 23:11
von Phantom51084
Hat keiner mehr eine Idee? Ist wirklich wichtig...

Verfasst: 02.09.2006 23:29
von Miriam
Nurweil Du eine sid übergibst, bedeutet es doch nicht, dass Du eingeloggt bist.
Das Script weiss scheinbar nicht, wer du von der ID/Namen her bist und nimmt an, dass Du ein Gast ID = -1 bist.
Eine Möglichkeit wäre, das Autologin beim Anmelden einzuschalten....
Oder Du musst hiermit arbeiten.... rate ich jetzt mal -->

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
:roll:

Verfasst: 03.09.2006 00:11
von Phantom51084
Hallo,

diese zwei Zeilen stehen bei mir aber auch schon in der index.php.

Was kann ich noch versuchen

Verfasst: 03.09.2006 16:38
von Tobi91
Phantom51084 hat geschrieben:Hallo,

diese zwei Zeilen stehen bei mir aber auch schon in der index.php.

Was kann ich noch versuchen

bau dir zeilen nicht in die Index.php des Forums ein, sondern in die dateien deiner Homepage!

Verfasst: 04.09.2006 20:00
von Phantom51084
Ok,

hab jetzt einiges Probiert, bekomme es aber nicht hin. Ich habe auf meiner HP eine Datei, die in jeder anderen Datei aufgerufen wird und die Session prüft. Dies prüft sie mit Hilfe einer Datenbank. Das Forum allerdings ist in einer anderen Datenbank. Die nötigen Dateien zu includen (db.php sessions.php) und die zwei Codezeilen einufügen bringt immer wieder Fehler.

Kann mir jemand weiterhelfen? kann doch nciht so schwer sein. Sorry, wenn ich mich doof anstelle!