0

投稿された情報を取得し、次のコードを使用して情報を表示しようとしています:

PHP コード:

        $self = $_SERVER['PHP_SELF'];
        if(isset($_POST['send'])){                
            $words = htmlspecialchars($_POST['board']);
            print "<b>".$words."</b>";
        }            ​​​​

HTML コード:

<form action="<?php $self ?>" method=post> <!--$self is the directory of the page itself-->
        <p><i>Comment</i></p>
        <textarea name="board" rows="20" cols="10"></textarea>
        <input name="send" type="hidden" />
        <p><input type='submit' value='send' /></p>
</form>  

上記のコードは、意図したとおりに機能します。ただし、input name="send" type="hidden" を削除すると、送信ボタンをクリックしてもユーザー入力メッセージは表示されません。なぜこれが起こるのでしょうか?

4

3 に答える 3

4

name='send' を送信ボタンに追加する必要があります。PHP コードはフォーム要素の名前を読み取っていますが、送信ボタンに名前を指定していません。

<form action="<?php $self ?>" method=post> <!--$self is the directory of the page itself-->
        <p><i>Comment</i></p>
        <textarea name="board" rows="20" cols="10"></textarea>
        <p><input type='submit' name='send' value='send' /></p>
</form>  

また、簡単なメモ - フォーム メソッドを POST ではなく GET に変更すると、URL バーで送信しているフォーム データを簡単に確認できます。

于 2013-06-27T01:02:27.100 に答える
2

これは、POST 変数「send」が設定されていることを確認しているためです。それが、隠し入力に名前を付けたものです。

name送信入力に a を追加する必要があります。例:

    <p><input type='submit' name="submit_button" value='send' /></p>

PHP でname、送信ボタンの を確認します。この例では「submit_button」を使用しました。変更されたコード例を次に示します。

    $self = $_SERVER['PHP_SELF'];
    if(isset($_POST['submit_button'])){                
        $words = htmlspecialchars($_POST['board']);
        print "<b>".$words."</b>";
    }  
于 2013-06-27T01:02:34.730 に答える
0

送信ボタンなどに名前を付ける必要はありません。そのhidden行を削除するだけです...

phpを...に変更します。

 $self = $_SERVER['PHP_SELF'];
    if(isset($_POST)){                
        $words = htmlspecialchars($_POST['board']);
        print "<b>".$words."</b>";
    }     
于 2013-06-27T01:06:18.750 に答える