我有一个文本框。它的名字就是例子。
<input type="text" name="example"/>
我想检查一下,任何数据来自示例与否。 我尝试使用如下代码:
<?php
if(empty($_POST["example"]))
{
echo "You need to enter any text to example box.";
}
?>
但是这个代码是打印的,当我第一次进入页面时。 我希望只有在点击提交时才会看到打印数据。
答案 0 :(得分:3)
检查
if(!isset($_POST["submitButtonName"]))
{
// validation logic here
}
答案 1 :(得分:3)
isset
在这里是正确的选择 - empty
仅用于检查已知变量以查看它是否“清空”。根据{{3}}
以下内容被认为是空的:
"" (an empty string) 0 (0 as an integer) 0.0 (0 as a float) "0" (0 as a string) NULL FALSE array() (an empty array) var $var; (a variable declared, but without a value in a class)
它没有说的是它如何处理未定义的数组成员。对文档页面的评论为我们提供了一些测试方面的见解:docs
请注意,检查数组的子键是否存在 subkey不存在,但父进行并且是一个字符串将返回 空虚。
而isset
(http://www.php.net/manual/en/function.empty.php#105722)旨在“确定变量是否已设置且不为NULL。” - 正是您所追求的。因此,您的代码最终看起来像这样:
// check the length, too, to avoid zero-length strings
if(!isset($_POST["example"]) || strlen(trim($_POST["example"])) < 1) {
echo "You need to enter any text to example box.";
} else {
// handle form submission
}
<强>文档强>
PHP isset
- docs
PHP empty
- http://php.net/manual/en/function.isset.php
答案 2 :(得分:1)
<?php
if(isset($_POST['example']) && empty($_POST['example']))
{
echo "You need to enter any text to example box.";
}
?>
答案 3 :(得分:0)
使用它是更好的选择:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
if(empty($_POST["example"]))
{
echo "You need to enter any text to example box.";
}
}
这将检查服务器上是否有POST
,然后您就会有条件。
答案 4 :(得分:0)
if (!empty ($_POST))
{
// Validation logic here
if ((!isset ($_POST ['example'])) || (empty ($_POST ["example"])))
{
echo "You need to enter any text to example box.";
}
}
else
{
// No need to do any validation logic, the form hasn't been submitted yet.
}
答案 5 :(得分:0)
首先检查$ _POST变量,因为只有在提交页面时它才可用。
<?php
if(!empty($_POST)){
if(isset($_POST['example']) && empty($_POST['example'])){
echo "You need to enter any text to example box.";
}
}
?>
答案 6 :(得分:-1)
首先检查submit
按钮。
<input type="text" name="example" value="" />
<input type="submit" name="submit" value="submit" />
<?php
if (isset($_POST['submit'])) {
if (empty($_POST['example'])) {
echo "You need to enter any text to example box.";
}
?>