-1

ユーザーを元のページにリダイレクトしたいのですが、ページを再度ロードしないため、javascript go.back などは使用しません。

私はいくつかのコードを見つけました

<?php 
$ref1 = urlencode($_SERVER['HTTP_REFERER']); 
$ref2 = urlencode('http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']); 
echo '<meta http-equiv="refresh" content="5;url=page2.php?ref1='.$ref1.'&amp;ref2='.$ref2.'">'; 
?>

PHP ファイルで、以前の URL と正確な URL を取得し、ユーザーをその URL に戻すようにしたいだけです。ページが再度読み込まれるため、PHP を使用しています。javascript を使用しましたが、ページが再度読み込まれないので、ここで助けてください。前もって感謝します 。

4

3 に答える 3

1

どうですか?

<?php
header ("Location: ".$_SERVER['HTTP_REFERER']);
?>

httpのメタリフレッシュを使用せずに、phpを使用してクライアントを別のページに直接リダイレクトできます...

于 2012-04-23T08:40:18.680 に答える
0

リファラーに依存しないために、フォームを POST するページの URL を非表示の入力に保存し、POST リクエストを処理するスクリプトの $_POST から取得して、その URL へのリダイレクトを発行することができます。

非常に簡単な例:

テンプレートでは:

<form action="<?= $yourDestinationUrl ?>" method="POST">
<!-- Here be your form elements -->
<input type="hidden" name="redirectTo" value="<?= $_SERVER['REQUEST_URI'] ?>" />
</form>

POST リクエストを処理するスクリプトでは、次のようになります。

[your logic goes here]

if(!empty($_POST['redirectTo']) {
    header('Location: ' . $_POST['redirectTo']);
    die;
}
于 2012-04-23T09:29:41.050 に答える
0

私はそのように使用しました:

1 - 前のページで、完全な URL を取得し、同様のパラメーター、最後のパラメーターを追加します。

$e = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];
href="www.nextpage.com?x=yours_parameters&e=<?php echo $e; ?>"

2 - 実際のページでは、e 値を取得する必要があります

$_SESSION["url"] = $_SERVER['REQUEST_URI'];
$link = explode("e=",$_SESSION["url"]);
$e = $link[1];

3 -つまり、var $e がバック URL になります

<script>location.href='$e';</script>";
于 2012-04-23T09:37:03.497 に答える