は、私は2つのページpage1.php
とpage2.php
を持っていると私はそれが形page1.php
リダイレクトされている場合にのみ表示されるようにpage2.php
をしたいと私はフォームを持ってまで、このコードがうまく働いたpage2.php
if($_SERVER['HTTP_REFERER'] == "page1.php")
{
//keep displaying page2.php
}else{
//if it is not redirected from page1.php
header('Location:page1.php')
//redirect the user back to page1.php
}
とにこのコードを挿入するとしましょう送信ボタンをクリックするとpage2.php
に送信ボタンが表示されます。つまり、HTTP_REFERER
はpage2.php
に変更されますので、私のif statement
は失敗し、page1.php
に戻ってしまいます。これが起こらないようにする方法はありますか?
ありがとうございます。
リファラーはユーザーが入力した値であり、操作や省略が可能なため信頼できません。代わりにセッションを使用し、page1.phpでセッション変数を設定し、page2.phpでそれを確認してください。 –
@CharlesAddisコードを追加しましたが、何も変更されていないようです。 – surafel