Seite 1 von 3

sid weitergeben?

Verfasst: 08.06.2008 23:07
von Kizu
Ich habe in meinem Header einen Link gesetzt der auf einen Beitrag verlinkt, der für Gäste nicht erreichbar ist.
Wenn ich aber eingeloggt bin und darauf klicke, führt der mich zur Loginseite. Ich habe hier irgendwo gelesen, dass ich für solche Zwecke die SID in der URL weitergeben muss. Stimmt das? und wenn ja: wie kriege ich das hin?
PHPBB3

Verfasst: 09.06.2008 00:29
von djchrisnet
append_sid() lautet die funktion dafür. schau dir im quelltext einfachmal an und such dir ein beispiel.

Verfasst: 09.06.2008 12:53
von gn#36
Du solltest die SID anhängen, für den Fall, dass ein eingeloggter User den Link ohne Cookies benutzt (dann wird er nämlich ausgeloggt). Dafür kannst du die von djchrisnet genannte Funktion verwenden.

Zwingend anhängen muss man sie aber nicht (append_sid hängt sie nur an, wenn nicht sicher ist, dass Cookies funktionieren). Nur für das direkte Verlinken des Logins/Logouts MUSS die SID an der URL angehängt sein. Das ist hier allerdings nicht der Fall, da du lediglich von der viewtopic.php aus weitergeleitet wirst.

Verfasst: 09.06.2008 13:35
von Kizu
hmm. komischerweise akzeptiere ich cookies. und ich werde auch eigentlich nicht ausgeloggt. wenn ich nähmlich zurückgehe bin ich wieder eingeloggt (und kann auch ganz normal das Forum weiter benutzen).
und das mit append_sid verstehe ich nicht ganz. das muss doch an den Link drangehängt werden und wie ich das verstanden habe (ich lerne gerade php) muss man doch eine Variabel an Links anhängen. und keine Funktionen.

Verfasst: 09.06.2008 13:55
von Jan500
du musst den link in der funktion aufrufen ;)

zb

Code: Alles auswählen

append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id")
Jan

Verfasst: 09.06.2008 14:38
von Kizu
hmm.
ok. wo finde ich denn die php-Datei zur Overall-Header. Oder kann ich irgendwie den PHP-Code in der HTML-Datei ausführen lassen?

Verfasst: 09.06.2008 16:38
von gn#36
Kommt ganz auf die Version an, entweder includes/page_header.php oder includes/functions.php (die erste von beiden die existiert ;) in zweiterer dann in der Funktion page_header)

Ansonsten wichtig: KB:template_system, KB:template_syntax

So wie Jan das geschrieben hat funktioniert das auch nur in phpBB3, in phpBB2 müsstest du die Parameter von vorne herein schon an der URL hängen haben (also nur ein Funktionsparameter).

Verfasst: 09.06.2008 17:03
von Kizu
Ich habe auch PHPBB3.
muss ich das jetzt so machen?

Code: Alles auswählen

		$forum_id = "2";
		$topic_id = "32";
		$chatlink = append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&t=$topic_id");

		$template->assign_var('chatlink', $chatlink);
aber bei

Code: Alles auswählen

$template->assign_var('chatlink', $chatlink);
scheint ein Fehler aufzutauchen. jedenfalls zeigt er für diese Zeile diesen Fehler an:
Fatal error: Call to a member function assign_var() on a non-object in /usr/export/www/vhosts/funnetwork/hosting/hintaweltla/includes/functions.php on line 3333

Verfasst: 09.06.2008 17:48
von Jan500
hi

wo hast du den code den eingefügt? wahrscheinlich zu früh und die class wurde noch nicht generiert :o
verlink mal die php als txt ;)

Jan

Verfasst: 09.06.2008 19:58
von Kizu
Welche class. Naja. hier die PHP-Datei:
http://hintaweltla.hi.funpic.de/includes/functions.txt

Der Teil ist bei Zeile 3328 eingefügt.
und im Original erstmal wieder auskommentiert. damit das Forum läuft. ;)