我正在尝试获取发布的信息并使用以下代码显示信息:
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”,则单击“发送”按钮后,用户输入消息将不会显示。为什么会这样?
答案 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>";
}