2012-04-23 19 views
-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.'">'; 
?> 

を見つけた私は、正確なURLを以前のURLを取るためにPHPファイルをしたいし、それに戻ってユーザーを送信します。 PHPを使用しているのは、ページが再び読み込まれるためです。 javascriptを使用しましたが、ページが再度ロードされないので、ここで助けてください。 ありがとうございます。

+0

になります:window.location.reload(history.go(-1)); '? – Aprillion

+0

HTTP_REFERERはすべての場合に機能しないかもしれませんが、これを実行しようとしているときですか?認証が必要なページにユーザーがアクセスしようとしているときと同じですか、ユーザーを認証した後、アクセス? – Peeyush

+0

私はHTTP_REFERERの使用が悪い考えであると言っていません – Peeyush

答えて

1

どのようにですか?あなたがリファラに依存しないために...直接HTTPのメタリフレッシュを使用せずに別のページにクライアントをリダイレクトするように

+0

すべての場合にHTTP_REFERERが動作しない可能性があります。 – itachi

+0

あらかじめそのコードを使用しました。 私のURLはsomesite.com/index.php?option=com_user&view=login&return=Zm9ydW0ucGhw ですが、そのコードがリダイレクト時にこれはないですが、私は somesite.com/index.php?option=com_user にリダイレクトしています所望の結果。 –

+0

@AchrafSoltaniこれを参照してください –

0

をPHPを使用することができます

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

、あなたはPOSTページのURLを格納することができフォームを隠し入力から取得し、POSTリクエストを処理してそのURLへのリダイレクトを発行するスクリプトの$ _POSTから取得します。

非常に単純な例:テンプレートに

:スクリプトで

<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; 
} 
+0

コードしてください。ありがとう –

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]; 

-SO 3を取得する必要があり、変数$ eはjavascriptの `について間違っていたものを、背中のURL

<script>location.href='$e';</script>"; 
+0

それをコードしてください。ありがとう。 –

+0

コメントを参照してください。 –

関連する問題