<?php
$login_info = array('batman'=>'404','superman'=>'502');
$form_usr = "$_POST[usr]";
$form_pass = "$_POST[pass]";
$form_submit = "$_POST[submit]";
if ( isset($form_submit) ) {
foreach ( $login_info as $user => $pass ) {
if ($form_usr == $user && $form_pass == $pass) {
echo "Successfully logged in !";
}
else {
echo "bad username or password !";
}
}
}?>
我正在bad username or password !bad username or password !
和Successfully logged in !bad username or password !
我该如何解决这个问题?我正在尝试在条件为真时显示Successfully logged in !
,否则bad username or password !
答案 0 :(得分:0)
您可以完全避免循环,而只是检查变量是否存在于数组中。
<?php
$login_info = array('batman'=>'404','superman'=>'502');
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$user = isset($_POST['usr']) ? $_POST['usr'] : null;
$pass = isset($_POST['pass']) ? $_POST['pass'] : null;
if (isset($login_info[$user]) && $login_info[$user] == $pass) {
echo "Successfully logged in !";
} else {
echo "bad username or password !";
}
}
?>
答案 1 :(得分:0)
主题的变体也许,但你可以尝试这样,再次不使用循环。
{{1}}