Seite 1 von 1

Ungelesene Beiträge erneut kennzeichnen?

Verfasst: 30.01.2005 16:02
von LordZed
Hi Leute! Ich wusste nicht wirklich, wie ich diesen Beitrag nennen sollte, aber mein Problem ist folgendes:

Ich habe Teile des Forums auf meiner Website eingebunden, so dass ich $userdata zur verfügung habe. Nun ist es aber so, dass von mir ungelesene Beiträge nicht mehr als solche markiert sind, wenn ich das Forum betrete.
Ich bin mir ziehmlich sicher, dass das was mit der Einbindung auf der Website zu tun hat und denke, dass irgendeiner von euch bestimmt eine Lösungsidee für dieses Problem hat.

Würde mich über eine schnelle Antwort freuen

Verfasst: 30.01.2005 16:26
von Pyramide
KB:cookie_probleme

Verfasst: 30.01.2005 22:12
von LordZed
Ich hab das jetzt eingestellt und ich glaube daran liegt es nicht!
Meine Theorie:
Es gibt, wenn ich mich nicht irre einen Eintrag in der Datenbank, der "Last Login" heißt. Kann es sein, dass der diesen Eintrag updatet, wenn ich von der Website auf das Forum wechsel?
Also irgendwo ist da der Wurm drin! Ich weiß! Das ist keine aussagekräftige Aussage, aber ich weiß einfach nicht, was ich tun soll!
Hier mal der Teil, den ich in die Website includet habe:

Code: Alles auswählen

	//Benötigte Dateien und Variablen von phpBB
	define('IN_PHPBB', true);
	$phpbb_root_path = $_SERVER['DOCUMENT_ROOT'].'/forum/';
	include($phpbb_root_path . 'extension.inc');
	include($phpbb_root_path . 'common.'.$phpEx); 
	
	//Session auslesen und Benutzer-Informationen laden
	$userdata = session_pagestart($user_ip, PAGE_WEBSITE);
	init_userprefs($userdata);
Außerdem nutze ich noch folgendes in einem Funktion, die mir einen Forenticker zurück gibt:

Code: Alles auswählen

                                //Session auslesen und Benutzer-Informationen laden
				$userdata = session_pagestart($user_ip, PAGE_WEBSITE);
				init_userprefs($userdata);	
				// phpbb-Funktion, die uns die Rechte des Nutzers $userdata für alle Foren raussucht
				$u_access = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
Könnt ihr damit irgendwas anfangen?
Wie werden denn die Beiträge "errechnet", die ich noch nicht gelesen habe? Bzw. wann kennzeichnet der die als gelesen?

Es ist auch so, dass ich, wenn ich auf "Beiträge seit dem letzten Besuch anzeigen" im Forum klicke ich ein leeres Ergebnis bekomme. D.h. das müsste irgendwas damit zu tun haben... frage ist nur wo der Fehler ist... please! Need your help! ;)

Verfasst: 02.02.2005 15:23
von Cojote
Hallo,

hatte genau das gleiche Problem, konnte es mittlerweile allerdings lösen.

Meiner Meinung nach (ich habe das auch getestet) haben die seit dem letzten Login neuen Beiträge nichts mit Cookies zu tun. Es ist lediglich die von dir erwähnte Spalte die für das als gelesen markiert sorgt.

Habe das Problem gelöst indem ich mir eine neue funktion statt session_begin geschrieben habe.
Die neue funktion ist eine exakte Kopie der alten bis auf folgendes:

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . " 
			SET user_session_time = $current_time, user_session_page = $page_id WHERE user_id = $user_id";
Diesen Query habe ich aus der neuen Funktion komplett entfernt.
Da das session_begin aus session_pagestart heraus aufgerufen wird musst du auch diese Funktion kopieren und einen neuen Namen dafür vergeben. In der neuen Funktion ersetzt du den aufruf session_begin durch den aufruf deiner neuen Funktion von vorhin

Auf den Forumexternen Seiten benutze ich diese neue Funktion statt dem session_pagestart - seitdem funktioniert es auch mit den ungelesenen Beiträgen.

Es geht mit Sicherheit auch irgendwie klarer indem man das phpbb dahingehend erweitert dass es zwischen sessions im Forum und auf der Seite unterscheiden kann aber meine Lösung schien mir am wenigsten kompliziert.

Verfasst: 02.02.2005 16:20
von LordZed
Ich finde das echt verdammt komisch, denn die SessionID auf der Page und die im Forum sind ja eigemntlich die selben. Und wenn ich im Forum die Seiten wechsel und anschließend zur Hauptseite zurückkehre sind ja auch nicht alle Einträge als gelesen markiert.

Werde mich mal auf die genaue Fehlersuche begeben! ^^

Verfasst: 08.02.2005 17:44
von LordZed
*push*
Keiner 'ne Idee, woran das liegt bzw. wie ich mein Problem sonst lösen kann?
Wieso werden alle Topics als gelesen markiert, wenn ich von der Website komme, aber nicht, wenn ich im Forum die Seite wechsel?