<?php
session_start();
// список пользователей
$userList = array(
1 => array(
"login" => "ivan",
"password" => "i",
"info" => "Иван Иванов"
),
2 => array(
"login" => "petr",
"password" => "p",
"info" => "Петр Петров"
),
3 => array(
"login" => "sidor",
"password" => "s",
"info" => "Сидор Сидоров"
),
);
// проверяет, существование пользователя с заданными именем и паролем
function checkUser($login, $password)
{
global $userList;
foreach ($userList as $uid => $user) {
if (($user["login"] == $login) and
($user["password"] == $password)
) {
return $uid;
}
}
return false;
}
// возвращает информацию о пользователе с заданным идентификатором
function getUserInfo($uid)
{
global $userList;
if (isset($userList[$uid]))
return $userList[$uid]["info"];
return false;
}
header('Content-Type: text/html; charset=utf-8');
session_name('login');
session_start();
do {
$message = "";
$showLoginForm = true;
if (
isset($_SESSION['uid']) and
isset($_SESSION['act']) and
($_REQUEST['act'] == "logout")
) {
unset($_SESSION['uid']);
$message = "До свидания, вы успешно покинули систеу";
break;
}
if (
isset($_POST['login']) and
isset($_POST['password'])
) {
$login = $_POST['login'];
$password = $_POST['password'];
$test = checkUser($login, $password);
if ($test) {
$_SESSION['uid'] = $test;
$message = "Здравствуйте, вы успешно вошли в систему";
} else {
$message = "Пользователь с заданными логином и паролем не существует";
break;
}
}
if (isset($_SESSION['uid'])) {
$info = getUserInfo($_SESSION['uid']);
$message = "Вы авторизованы как $info " . '<a href="login.php?act=logout">Выйти</a>';
$showLoginForm = false;
}
} while (0);
$html = <<<LOGIN_INFO
<h2>Авторизация</h2>
<p>$message</p>
LOGIN_INFO;
if ($showLoginForm) {
$html .= <<<LOGIN_FORM
<form name = "loginForm" method="post" action="login.php">
<p>Логин:</p>
<p><input type="text" maxlength="40" size="20" autocomplete="new-password" name="login" value="">
<p>Пароль:</p>
<p><input type="password" maxlength="40" size="20" name="password" autocomplete="new-password" value="">
<p><input type="submit" value="Войти"></p>
</form>
LOGIN_FORM;
}
echo $html;
Ошибка:
103 строка после echo $html;