Я получил этот цикл прямо здесь с массивами, чтобы проверить, совпадает ли имя пользователя и пароль. Моя проблема в том, что мне нужно отобразить всплывающее сообщение, в котором будут указаны «Недопустимое имя пользователя/пароль», если они не совпадают и просто вернутся в форму. Но происходит то, что он проходит через цикл и отображает мое всплывающее сообщение каждый цикл. Вот мой код:Логика на петле с foreach в PHP
if (isset($_POST['submit']))
{
$login = array
(
0=>array
('username'=>'Art',
'password'=>'[email protected]',
'user_id'=>'1'
),
1=>array
('username'=>'Berto',
'password'=>'1234',
'user_id'=>'2'
),
2=>array
('username'=>'Carrie',
'password'=>'5678',
'user_id'=>'3'
),
3=>array
('username'=>'Dino',
'password'=>'qwer',
'user_id'=>'4'
),
4=>array
('username'=>'Ely',
'password'=>'asdf',
'user_id'=>'5'
)
);
foreach($login as $sub_array)
{
$uname = $_POST['user'];
$pass = $_POST['password'];
if ($uname == $sub_array['username'] && $pass == $sub_array['password'])
{
$message = ($sub_array['user_id']);
echo "<script type='text/javascript'>
alert('Your user ID is : $message');
</script>";
}
else
{
echo "<script type='text/javascript'>
alert('Invalid username/password.');
</script>";
}
}
}
Спасибо @Barmar. Этот код работал для меня. –