0

私はこれをしばらくやっていますが、PRGに関してはまだ混乱しています。私はそれがどのように機能するかを知っているので、例えば私は次のようにします:

if($_POST){
 header("Location: ".$_SERVER['REQUEST_URI']);
 exit();

}

これは、ユーザーによる更新とPOSTのサーバーへの再送信を停止するためです。しかし、「警告:ヘッダー情報を変更できません-ヘッダーは既に送信されています」というメッセージが表示され続けます。これは、リダイレクトが空白、エコー、テキストなどの前に行われる必要があるためです。ヘッダーの真上が理想的です。

しかし、私のフォームがヘッダーなどのないランダムな.phpページに送信される場合(データの処理やデータベースの編集などができる場所)、これは私にとってより理にかなっています-しかし、この方法では、Wordpressの機能を含めることはできませんデータを処理し、必要なことを実行します。関数にアクセスできるようにWordpressを数行含めるようにしていますが、この方法ではデータを処理できず、ユーザーをリダイレクトします。

これを回避するために、私はデータを処理し、メタリフレッシュを使用してリダイレクトしていますが、これは悪いことです!

これが理にかなっていることを願っています:)どんな助けでも本当にありがたいです!

4

2 に答える 2

0

これを行う正しい方法がわからない

echo '<script>window.location="somefile.php";</script>'; しかし、通常、このエラーを回避するためにjsリダイレクトを使用します

于 2013-01-05T20:25:21.180 に答える
0

私は通常location.replace(URL)を使用するので、ユーザーがブラウザーにヒットバックしても、リダイレクト迷路に閉じ込められることはありません。

window.location.replace(urlToRedirectTo);
于 2014-08-22T15:07:09.613 に答える