PHP用foreach break结合数组键名= 键值对方式 验证用户登录状态
时间: 2024-02-02 19:03:50 浏览: 64
php 验证用户是否登录
以下是示例代码:
```
$users = array(
"john" => "password123",
"jane" => "abc123",
"bob" => "pass456"
);
$is_logged_in = false;
$username = "";
foreach ($users as $user => $password) {
if (isset($_COOKIE[$user]) && $_COOKIE[$user] == md5($password)) {
$is_logged_in = true;
$username = $user;
break;
}
}
if ($is_logged_in) {
echo "Welcome, $username!";
} else {
echo "Please login.";
}
```
在上面的代码中,我们首先定义了一个包含用户名和密码的关联数组 `$users`。然后,我们使用 `foreach` 循环遍历数组,对于每个用户,我们检查是否存在与其用户名对应的 cookie,以及是否与密码的 MD5 散列值匹配。如果找到了匹配的用户,我们设置 `$is_logged_in` 为 `true`,并将 `$username` 设置为当前用户的用户名,并使用 `break` 停止循环。
最后,我们检查 `$is_logged_in` 的值,如果为 `true`,则欢迎用户,否则提示用户登录。
阅读全文