我已经创建了几个选项的html表单(在MyTestFile.php文件中),我想要做的是检查是否已经收回了帖子请求。或者换句话说,当用户从我的组合框中选择一些东西并按下按钮时,去#34; Go"然后它转到同一页面并发送选择的大小值并回显大小,然后在设置大小时不再显示表单。所以这是我的表单代码,它并没有真正起作用:
if (isset($_POST('submit'))) {
?>
<html>
<h2>Select size:</h2>
<form action="MyTestFile.php" method="POST">
<div>
<select name="SIZE">
<option value="big">big</option>
<option value="medium">medium</option>
<option value="small">small</option>
</select>
<input type="submit" value="Go">
</form>
</html>
<?php
} else {
echo $_POST('submit');
//and do some stuff here
}
主要想法:检查是否已收到有大小的帖子请求,如果没有 - 显示表单,用户可以选择大小。
答案 0 :(得分:2)
$_POST
是一个数组,因此您必须使用方括号来访问元素,而不是父级。所以改变这个:
if (isset($_POST['submit'])) {
// ^ ^ square breackets not ()
其次,您的提交按钮没有名称,因此您的isset()
检查将永远不会成立。给它起个名字:
<input type="submit" name="submit" value="Go">
或者在isset检查中使用SIZE
选择:
if (isset($_POST['SIZE'])) {
最后,您的isset检查需要撤消,以便在不存在帖子值时显示表单:
if (!isset($_POST['SIZE'])) {
// ^ not operator to reverse the check
答案 1 :(得分:0)
我可以看到你在这里尝试过:
只需在isset之前添加感叹号,在提交按钮中添加名称,并用方括号替换这些括号。
if (!isset($_POST['submit']))
{
?>
<html>
<h2>Select size:</h2>
<form action="MyTestFile.php" method="POST"><div>
<select name="SIZE">
<option value="big">big</option>
<option value="medium">medium</option>
<option value="small">small</option>
</select>
<input type="submit" name="submit" value="Go">
</form>
</html>
<?php
}
else
{
echo $_POST['size'];
//and do some stuff here
}
答案 2 :(得分:0)
在[
方法中使用(
不要使用$_POST
。因为$_POST
是数组所以使用方括号。在提交按钮中使用相同的submit
作为名称。
$_POST['submit']
代替$_POST('submit')
并在!
条件中添加if
(未设置),请使用下面的代码,
if(!isset($_POST['submit'])){
// Your Form Code
}
else{
print_r($_POST);
}