我是PHP的新手。我正在尝试检查某个表单中没有字段是空的,所以我使用了foreach
语句,但它只是逐个检查而不是一次检查。
这是我的代码:
<?php
if (isset($_POST[submit])) {
ValidateUser();
}
function ValidateUser() {
$username = $_POST['username'];
$password = $_POST['password'];
$details = array($username, $password);
foreach($details as $detail) {
if (!empty($detail)) {
echo "hurrayy";
}
}
}
?>
因此,当BOTH用户名和密码不为空时,不显示“hurrayy”,只要其中一个不为空,就会显示。请帮忙。
答案 0 :(得分:1)
在邮件回显一次后添加break
。它将停止foreach
循环。
foreach($details as $detail) {
if (!empty($detail)) {
echo "hurrayy";
break;
}
}
答案 1 :(得分:1)
您无需将它们分配给数组并循环
function ValidateUser() {
if(!empty($_POST['username']) AND !empty($_POST['password'])) {
$username = $_POST['username'];
$password = $_POST['password'];
echo "Hurray!";
}
}
8行到5行,没有循环,也没有数组赋值。
答案 2 :(得分:0)
所以,只有当数组中的字段的 none 为空时,才显示“hurrayy”?你需要先检查它们然后再决定。
function ValidateUser() {
$username = $_POST['username'];
$password = $_POST['password'];
$details = array($username, $password);
$empty_field = false;
foreach($details as $detail) {
if (empty($detail)) {
$empty_field = true;
}
}
if (!$empty_field)
echo "hurrayy";
}
答案 3 :(得分:0)
是的,它将输入if语句,因为$username
和$password
被视为数组中的值,即使这两个值没有值。