タスク:
- page1.php から page3.php への post メソッドを使用して、フォーム (フォーム アクション = page2.php) から入力変数 ($email と呼びましょう) を渡したい
説明:
- フォーム アクションは page2.php に送られ、それがすぐに page3.php にリダイレクトされます。page2.php は、page1.php からのフォームを処理する大量の php 実行です。
問題:
- page2.php で変数を取得しますが、$email で何かを行う前に、ページが page3.php にリダイレクトされ、データが失われます。自動送信でデータを投稿する page2.php のフォームを作成しようとしましたが、うまくいきません。フォームを page2.php の上に置き、残りのコードを少しの間スリープさせようとしましたが、うまくいきません。if ステートメントでコードの他の部分を実行しようとしましたが、
if($_SERVER['REQUEST_METHOD'] == "POST")
どちらも機能しませんでした。
コード:
コードについて特別なことは何もありません。page1.php にはフォームが含まれ、page2.php にはいくつかのインクルードが含まれており、それがリダイレクトされ、page3.php はランディング ページです。
page1.php:
<form action="page2.php" method="POST" id="form1"> <table> <tr> <td>E-Mail:</td> <td><input type="text" name="email" id="email"></td> </tr> <input id="submitBtn" style="margin-left: 120px;"> </table> </form>
サマリー:
- 基本的に、リダイレクトの前に $email 変数を page2.php から page3.php に渡す何かを探しています。
* 更新* 私は 2 日間連続してこれに苦労してきましたが、今では正確に解決策を見つけました。誰かが同じ問題を抱えているか疑問に思っている場合、私がしたことは、$_SESSION を使用したことです。
フォームが指示されたpage2.phpで、ページの上部にこのコードを使用しました:
$var_value = $_POST['email'];
$_SESSION['varname'] = $var_value;
page3.php で、次のようにセッション変数を呼び出しました。
$var_value = $_SESSION['varname'];
echo $var_value;