0

私はphpフォームを持っていて、次からリダイレクトしています:

http://wthdesign.net/contact.php

この URL に:

http://wthdesign.net/contact.php?status=thanks

私のフォームが送信されたら:

しかし、私の問題は、フォームが最初に送信されなかった場合に、この URL へのアクセスをどのように防止するかです。

4

2 に答える 2

2

フォームでセッションを作成するだけで、セッションが isset 関数で設定されているかどうかを確認する必要があります。そうでない場合は、最初にダイを使用します。

if (!isset($_SESSION['thank'])) die;
于 2013-08-10T17:51:15.007 に答える
1

contact.php のソースコードを見せてください

実際、SESSION はおそらく最善の方法であり、セッションをこのように設定します。

if (mail(...)) {
  $_SESSION['allow_show_thanks'] = 1;
}

ステータスを処理するためのある種のスイッチケースがありますか?

if (status == "thanks") {


} else {
  // show form
}

それをに変更します

if (status == "thanks" && (isset($_SESSION['allow_show_thanks'] && $_SESSION['allow_show_thanks'] == 1) ) {
   // show thanks when status equals "thanks" AND SESSION['allow_show_thanks'] == 1

} else {
  // show form
}
于 2013-08-10T17:51:29.580 に答える