我正在测试php的isset
和post
功能。我想要做的是每当我点击“添加”按钮时,它都会回显“你好”。但是当我点击按钮时没有任何反应。我意识到if (isset($_POST['FORM']))
正在检查表单是否有$_post
的东西,所以它应该回应“HELLO”吧?但它没有按预期工作。
<?php
if (isset($_POST['FORM'])){
echo "HELLO";
}
?>
<html>
<body>
<form method="post" name="FORM">
Book Id: <input type="text" name='bookid' /><br/><br/>
Book Name: <input type="text" name='bookname' /><br/><br/>
Borrow Date: <input type="text" name='borrowdate' /><br/><br/>
Return Date: <input type="text" name='returndate' /><br/><br/>
<input type="submit" value="ADD"><br/><br/>
</form>
</body>
答案 0 :(得分:5)
<form>
不使用name属性,因此您现在拥有的内容将不起作用。
您需要使用输入中的名称属性,以便回显您想要传递的值。
从<form method="post" name="FORM">
中删除name属性,并在将变量分配给POST阵列时将if (isset($_POST['FORM']))
更改为POST阵列。
请参阅php.net上有关处理表格的手册。
以下是一个例子:
HTML:
<form action="action.php" method="post">
<p>Your name: <input type="text" name="name" /></p>
<p>Your age: <input type="text" name="age" /></p>
<p><input type="submit" /></p>
</form>
PHP:
Hi <?php echo htmlspecialchars($_POST['name']); ?>.
You are <?php echo (int)$_POST['age']; ?> years old.
使用isset()
/ empty()
。
其中empty()
最适合数据输入,isset()
针对提交按钮,该按钮也需要命名并将所有内容包装在isset()
内,然后检查该条件语句中的空输入
答案 1 :(得分:3)
你必须使用
if (isset($_POST['bookid']) || isset($_POST['bookname']) || isset($_POST['borrowdate']) || isset($_POST['returndate'])) {
echo "HELLO";
}