我正在做功课,包括对php上的用户名和密码进行基本验证。我有一个一维的关联数组。当条件为真时,我可以打印该值,但是我不能仅打印一个“ else”,因为“ if”在foreach中]
php的内容:
<?php
$error = 0;
$mensajeError = "";
$login = array('pepe' => 'pepon', 'maria' => 'mary', 'manolo' => 'manolito');
if (!isset($_POST['user']) || $_POST['user'] == "") {
$error++;
$mensajeError .= "El usuario no puede quedar vacío";
}
if (!isset($_POST['pass']) || $_POST['pass'] == "") {
$error++;
$mensajeError .= "<p>La contraseña no puede quedar vacía</p>";
}
if ($error > 0)
{
echo $mensajeError;
}
else
{
$user = $_POST['user'];
$pass = $_POST['pass'];
foreach ($login as $clave => $valor)
{
if ($user == $clave && $pass == $valor) {
$user = $clave;
$pass = $valor;
echo "Hola " . $user . ", bienvenido a la aplicación";
}
if ($user != $clave && $pass != $valor) {
echo "Usuario y/o contraseña incorrectos";
}
}
}
?>
我正在做功课,包括对php上的用户名和密码进行基本验证。我有一个一维的关联数组。当条件为真时,我可以打印该值,但是我不能打印...
使用标志检查是否有任何匹配,如果在foreach
之后没有匹配,则拒绝:
根本不需要循环,您所要做的就是检查是否存在带有用户名的数组条目(使用isset()
),并且该条目具有相同的密码...