尝试检查表单是否有“$ _POST”任何内容,如果有,则回显一下

时间:2017-11-24 14:24:03

标签: php html forms

我正在测试php的issetpost功能。我想要做的是每当我点击“添加”按钮时,它都会回显“你好”。但是当我点击按钮时没有任何反应。我意识到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>

2 个答案:

答案 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";

}