2011-08-13 53 views
0

嘿家伙我试图让一个PHP脚本检查文本框是否为空,我使用下面的代码。检查文本框是否为空?

<?php 
$dbname = $_POST['db_name']; 
$dbuser = $_POST['db_user']; 
$dbpass = $_POST['db_pass']; 
$username = $_POST['username']; 
$password = $_POST['password']; 

if($dbname == "" || $dbuser == "" || $dbpass == "" || $username == "" || $password == "") 
{ 
Echo("Missing Information!"); 
}else{ 
Echo("Success!"); 
} 
?> 

下面是我的表单代码: “缺少信息”

<form method="post" style="padding-left: 50px" action="install_submit.php"> 
<h2>Database connection settings</h2> 
<label for="db_name">Database name:</label> 
<input type="textbox" id="db_name" name="db_name" /><br/> 
    <label for="db_user">Database username:</label> 
    <input type="textbox" id="db_user" name="db_user" /><br/> 
<label for="db_pass">Database password:</label> 
<input type="password" id="db_pass" name="db_pass" /><br/> 
<h2>CPanel settings</h2> 
<label for="username">Username:</label> 
<input type="textbox" id="username" name="username" /><br/> 
<label for="password">Password:</label> 
<input type="password" id="password" name="password" /><br/> 


<input type="submit" name="submit_install" value="Install" /> 
</form> 

有了它总是返回即使当所有的文本框都填写了。

我在做什么错?

+1

执行'print_r($ _POST)'来检查它没有问题。 – JJJ

回答

4

使用empty()代替,

if (empty($dbname) || empty($dbuser) || empty($dbpass) || empty($username) || empty($password)) { 
    //Empty 
} 
else { 
    //Not Empty 
} 

检查看到的输入name小号是正确的为好。

+0

没有工作,但我从代码添加到原始帖子,如果有帮助。 –

+0

你的代码(在本地开发环境中复制/粘贴和测试)工作正常。 –

+0

确保你接受正确的答案,如果它为你工作@DuncanP –

0

为了调试尝试做一个

print_r($_POST); 

看看你实际收到的$ _POST变量,然后尝试在你的if语句每次一个比较。 也许它让你看到幕后。

0

替换为&检查您是否获取所有参数值。

<?php 
$dbname = $_POST['db_name']; 
$dbuser = $_POST['db_user']; 
$dbpass = $_POST['db_pass']; 
$username = $_POST['username']; 
$password = $_POST['password']; 

echo "<pre>"; 
print_r($_POST); 
echo "</pre>"; 
die(); 

if($dbname == "" || $dbuser == "" || $dbpass == "" || $username == "" || $password == ""){ 
    echo("Missing Information!"); 
}else{ 
    echo("Success!"); 
} 
?> 
0

要检查发布的数据u可以使用isset()

确定一个变量被设置,而不是NULL

if(!isset($dbname) || trim($dbname) == '') 
{ 
    echo "You did not fill out the required fields."; 
} 

trim()关键字除去其通过empty()忽略空格。