0

タスク:

  • 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;
4

1 に答える 1

1

このコードを page2.php で使用します

header( 'Location: http://www.yoursite.com/page3.php?email='.$_POST['email'] ) ;
于 2012-11-06T13:16:52.883 に答える