1

2 ページあり、各ページにフォームがあります。最初のフォームはユーザー入力を受け入れ、2 番目のページでそれをプレビューします (非表示のフォーム要素)。2 番目のフォームでユーザーが送信ボタンをクリックすると、そのデータが mysql に挿入されます。

問題は、フォーム POST メソッドを介してそのページに到達すると、2 ページ目が mysql にデータを挿入し、データベースに空のフィールドが表示され、フォーム送信ボタンの isset 関数が機能しないことです。

最初のページ (フォーム):

<html>
    <body>    
        <form action="review.php" method="post">
            Name: <input type="text" name="name"><br>
            Age: <input type="text" name="age"><br>
            <input type="button" name="submit" value="submit">
        </form>    
    </body>
</html>

review.php次のコードで呼び出されるレビュー用の 2 番目のページに移動します。

<?php
if (isset($_POST['submit'])) {
    // Mysql insert statment
    echo "Form has been submitted";
}    
?>

<html>
    <body>    
        <form action="review.php" method="post">
            Name: <input type="hidden" name="name"><p><?php echo $_POST['name']; ?></p><br>
            Age: <input type="hidden" name="age"><p><?php echo $_POST['age']; ?></p><br>
           <input type="submit" name="submit">
        </form>    
    </body>
</html>

最初のフォームのレビュー ボタンをクリックすると、それが mysql に挿入されるため、 isset 関数が機能しreview.phpません。

4

5 に答える 5

1

最初のファイルでこの行を見逃しているため

<input type="submit" name="submit" value="Review">
于 2013-09-07T08:55:15.487 に答える
1
if (isset($_POST['submit'])) { //but there isn't any Html attribute with the name submit

次のようになります。

<input type="submit" name="submit"/>

これで、空の値を取得できなくなりました

于 2013-09-07T08:58:06.623 に答える
0

大丈夫、大丈夫

    -


**空白行で周囲のテキストと区切る必要があります。最も外側のブロック要素の開始タグと終了タグはインデントしてはなりません。Markdown は HTML ブロック内では使用できません。

于 2014-06-12T10:32:13.683 に答える
0

あなたの最初のページに以下のコードを入れてください

<input type="submit" value="submit" name="submit" />
于 2013-09-07T08:57:35.120 に答える