我想尝试检查一个$ _POST数组是否为空但我在谷歌搜索和搜索youtube的2天内没有找到任何解决方案。 这是我的基本代码:
if(isset($_POST['username']) and $_POST['password']){
$username = $_POST['username'];
$password = $_POST['password'];
foreach($username as $user){
if(empty($_POST[$user])){
$error = "you need to fill in your username";
}
}
foreach($password as $pass){
if(empty($_POST[$pass])){
$error = "you need to fill in your password";
}
}
if(isset($error)){
echo $error;
?>
<br> <br>
<?php
}
}
谢谢大家
答案 0 :(得分:2)
要检查$_POST
是否为空,您需要做的只是
if(empty($_POST)) {
答案 1 :(得分:0)
我不确定您为什么要处理一系列用户名和密码。也许这就是你正在寻找的东西:
mt2[;;;]25 or ht2[;;;]25
无论如何,您应该使用if(isset($_POST['username']) and $_POST['password']){
$error_msg = "Please provide username and password!";
if(isset($_POST['username']))
$username = $_POST['username'];
if(isset($_POST['password']))
$password = $_POST['password'];
if( !isset($username) || !isset($password) )
echo $error_msg;
else{
//Do something ?
}
}
检查变量是否存在,并且可以使用isset
检查变量是否为空。
答案 2 :(得分:0)
您可以使用if(!empty($_POST['username']))
(非空),if(isset($_POST['username']))
或简称if($_POST['username'])
,即:
if(!empty($_POST['username']) and !empty($_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
}
注意:empty()
是检查POST
var是否包含值的最安全方法。
if(isset($_POST['username'], $_POST['password'])){
$username = $_POST['username'];
$password = $_POST['password'];
}
注意:isset()
只返回true
空格。
为了简化您的代码,我建议如下:
if($_POST['username'] and $_POST['password']){
$username = $_POST['username'];
$password = $_POST['password'];
}
注意:它也会返回true
只有空格。
答案 3 :(得分:0)
我想尝试检查$ _POST数组是否为空
您的代码存在以下问题:
if(empty($_POST[$user])){
您误解了函数foreach
你需要这样:
if(isset($user)){
这都是基于你想要检查数组的值是否为空。如果你还想要其他任何东西,你根本就不够清楚。
您已经使用此部分检查阵列是否为空:
if(isset($_POST['username']) and $_POST['password']){