В одной директории лежат три файла:
index.php (вход на ресурс)
check.php (проверка пользователя)
main.php (страница авторизованного пользователя)
что хотелось бы реализовать:
1. На index.php пользователь вводит логин и пароль, которые отправляются на check.php
2. check.php проверяет полученные данные, если они корректны переправляет пользователя на main.php, если нет то на index.php
скрипт index.php
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> Главная страница </title>
</head>
<body>
<form action="check.php" method="post">
<fieldset>
<legend> Авторизация пользователя </legend>
<table>
<tr>
<td> Логин: </td>
<td> <input type="text" name="login"> </td>
</tr>
<tr>
<td> Пароль:</td>
<td> <input type="password" name="pass"> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="ВХОД"> </td>
</tr>
</table>
</fieldset>
</form>
</body>
</html>
скрипт check.php
<?php
// переменная для URL
$path = $_SERVER['PHP_SELF'];
// Массив с логинами и паролями пользователей
$arrUser = ['qwer' => 1234,
'qwe' => 123];
// Проверка пользователя и переход на страницу для авторизованного пользователя
if (isset($_POST['login']) && isset($_POST['pass'])) {
$login = $_POST['login']; // логин для куки и сессии
$pass = $_POST['pass']; // пароль для куки и сессии
setcookie('login', $login, time()+600); // ставим куки
session_start(); // запускаем сессию
$_SESSION['login'] = $login; // логин для сессии
// поиск в массве пользователя и проверка его пароля
foreach ($arrUser as $value => $item) {
if (($value == 'qwer') && ($arrUser[$value])==1234) {
header('Location :'.$path.'/../main.php'); // переход для авторизованного пользователя
break;
} else {
header('Location :'.$path.'/../index.php'); // переход для неавторизованного пользователя
}
}
}
?>
скрипт main.php
<?php
include __DIR__.'function.php';
session_start();
echo $_SESSION['login'];
?>
Ошибку не могу найти, в файле check.php до строки:
header('Location :'.$path.'/../main.php'); // переход для авторизованного пользователя
все работает, но вот переадресации на main.php не происходит.
Подскажите где ошибся? И что поправить?