来自html表单的输入标记中的隐藏属性

时间:2013-06-27 00:57:12

标签: php html hidden

我正在尝试获取发布的信息并使用以下代码显示信息:

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>  

上面的代码将按照我的意图运行。但是,如果我删除了输入名称=“send”type =“hidden”,则单击“发送”按钮后,用户输入消息将不会显示。为什么会这样?

3 个答案:

答案 0 :(得分: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>  

另外,快速说明 - 您可以将表单方法更改为GET而不是POST,以便轻松查看您在URL栏中发送的表单数据。

答案 1 :(得分:2)

这是因为您正在检查POST变量“send”是否已设置。这就是你命名隐藏输入的内容。

您应该在提交输入中添加name。例如:

    <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>";
    }  

答案 2 :(得分:0)

不必费心命名发送按钮或任何内容,只需删除hidden行...

并将您的PHP更改为....

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