2つのフォームが段階的に提出されるとします。複数のステップフォーム提出、ブラウザのフォーム再送信ダイアログを取り除く
<form action='page2.php' method='post'>
<input type='email' name='email'>
<input type='submit' name='submit' value='Submit'>
</form>
ページ2:最初のページで、私は
のPage1を持っている電子メールが私のウェブサイトかどうかで利用できる場合は、このページでは、私がチェックします。利用可能な場合は、電子メールが表示され、ユーザに電話番号が尋ねられます。
if(isset($_POST['submit'])){
echo $_POST['email'];
?>
<form action='page3.php' method='post'>
<input type='number' name='number'>
<input type='submit' name='submit' value='Submit'>
</form>
<?php
}
ページ3:電話番号が与えられたとき、それはここで検証され、ユーザーが「somepage.html」にリダイレクトされます。
今、私の質問は、再送信の問題のフォームを処理します。しかし私は、ユーザーがページを更新するたびにそこのブラウザに「フォームの再発行」ダイアログボックスが表示されることを望んでいません。そして、このプロセスは2つのステップで行われなければならない。 Page2では、Page1に投稿したメールを表示する必要があります。このプロセス全体をどのように行うことができますか?コードが最初から最後まで(Page1からPage3まで)書かれていると助けになります。
メールを保ち、私は決してありませんしながら、これは "ページ2" の "フォーム再提出" を削除してくださいこれは手動で行いますが、通常はフレームワークがそれを行います。私が誤っていないと、あなたが提出したデータは$ _POSTではなくセッションに保存されます(ページをリフレッシュすることで、このように再送信する必要はありません)http://stackoverflow.com/questions/14465464/storing-all-post-dataセッション中 – JapanGuy
偽の指示をしている場合は私に修正してください。これにはセキュリティ上の欠陥があるかもしれません – JapanGuy
クライアントが自分の電子メールアドレスを渡した状態で電話番号を尋ねることが唯一の目的ならば、 2つの書式か2つのページがあります。 – Kobbe