Seite 1 von 1

Wieso redirect ohne '#'-Zusatz in posting.php?

Verfasst: 21.05.2004 14:46
von Waagenbauer
Ich möchte gerne dieses Zwischenfenster:

Code: Alles auswählen

Information
Deine Nachricht wurde erfolgreich eingetragen.
Hier klicken, um Deine Nachricht anzuzeigen
Hier klicken, um zum Forum zurückzukehren
nach dem newtopic, reply und editpost umgehen und direkt zum Posting springen.

Ich habe das mal mit dieser Änderung in posting.php versucht, dabei gibts aber noch ein Problem:
Mit redirect wird immer nur am Anfang des Topics gesprungen. In der URL fehlt der Zusatz '#123456'.
Normalerweise funzt die Umleitung in anderen Programmen wie z.B. viewtopic.php für newest posts.

Code: Alles auswählen

$template->assign_vars(array(
			'META' => $return_meta)
		);
		message_die(GENERAL_MESSAGE, $return_message);
durch das ersetzen:

Code: Alles auswählen

/*
$template->assign_vars(array(
			'META' => $return_meta)
		);
		message_die(GENERAL_MESSAGE, $return_message);
*/		
		if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
		{
			redirect("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id");
		}
		else
		{
		$template->assign_vars(array(
			'META' => $return_meta)
		);
		message_die(GENERAL_MESSAGE, $return_message);
		}
Gibst da ne andere Möglichkeit oder schon einen fertigen Mod ?

Verfasst: 21.05.2004 14:52
von Markus67

Verfasst: 21.05.2004 15:29
von Waagenbauer
Eigentlich müsste diese Zeile geändert werden:
$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $post_id) . '#' . $post_id . '">';

Aber das funzt leider auch nicht so, wie ich mir das Vorstelle. Es soll ohne Umleitung, also direkt, zum Posting gesprungen werden -> viewtopic.php?p=123456#123456
Ohne das eine andere Seite mit dem meta erzeugt wird.

Verfasst: 21.05.2004 15:57
von Waagenbauer
Wenn ich dieses kleine Script mit dem redirect aufrufe wird zum posting gesprungen:

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$post_id = '434850';
redirect("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id");
?>
Aber warum funzt der redirect in posting.php nicht???
Dort wird die Url gekurzt (ohne #434850) und zum Threadstart gesprungen.

Verfasst: 21.05.2004 23:30
von Waagenbauer
Ich habe verschiedene $url getestet. Mit und ohne append_sid. Anstatt redirect header(). Aber jedesmal das gleiche. Ich habe sogar auf php.net gesucht und verschiedene Variablen in der php.ini geändert. Aber nix!

Er springt nicht zum Post, es wird ...#123456 einfach abgeschnitten. :evil:

In dem miniscript url.php funzen alle varianten.

Weis denn niemand wieso das so ist und was man machen muss?

Verfasst: 22.05.2004 13:08
von Waagenbauer
Wo sind denn hier die php-Profis ?

Kennt ihr noch ein Forum wo ich evtl. mehr Glück habe ?

Verfasst: 22.05.2004 13:49
von Leuchte
/*
$template->assign_vars(array(
'META' => $return_meta)
);
message_die(GENERAL_MESSAGE, $return_message);
*/
if ( $mode == 'newtopic' || $mode == 'reply' || $mode == 'editpost' )
{
redirect("viewtopic.$phpEx?" . POST_POST_URL . "=$post_id#$post_id");
}
else
{
$template->assign_vars(array(
'META' => $return_meta)
);
message_die(GENERAL_MESSAGE, $return_message);
}
Ersetz das rote mal mit
$redirect = "viewtopic.$phpEx?" . POST_POST_URL . "=$post_id";
$post_append = "#$post_id";
redirect(append_sid($redirect, true) . $post_append);

Verfasst: 25.05.2004 19:48
von Waagenbauer
Das funzt leider auch nicht. Hatte ich aber auch schon probiert.

Der redirect funzt ja in anderen Scripts (wie ober erwähnt). Nur nicht (seltsamerweise) in posting.php.
Dort wird der Anhang #123445 weggelassen.

EDIT:
Kann es mit dem 'javascipt' zusammenhängen, dass in posting_body.tpl vorhanden ist ???