Вот код авторизации. Да, без mysql. Да, ужасно, но всё же.
<?
$filename = ("base.txt");
function AuthForm ()
{
echo ('<form method=\'post\'>
<label>Логин: </label>
<input type = \'text\' name = \'login\'><br />
<label>Пароль: </label>
<input type = \'password\' name = \'password\'><br />
<input type = \'submit\' name = \'log\' value = \'Войти\'>
</form>'
);
}
if(empty($_POST))
{
}else
{
$arr = file($filename);
$i = 0;
$temp = array();
foreach($arr as $line)
{
$data = explode("|:|",$line);
$temp['login1'][$i] = $data[0];
$temp['password1'][$i] = $data[1];
$i++;
}
$login = $_POST['login'];
$password = /*md5*/($_POST['password']);
if(!in_array($login,$temp['login1']))
{
echo("Пользователь с таким именем не зарегистрирован. <a href='#'>Вернуться</a>");
exit();
}
$index = array_search($login,$temp['login1']);
if($password != $temp['password1'][$index])
{
echo("Неправильный пароль. <a href='#'>Вернуться</a>");
exit();
}
}
?>
Вот сама авторизация на сайте:
<?
require ("auth.php");
AuthForm();
?>
Кто подключал уже себе эту ерунду, помогите, пожалуйста. Уже всё перепробовал.
Этот код должен быть в начале каждой страницы
<?php
session_start();
?>
В массив сессий вы можете занести данные присвоением значения новому елементу массива
$_SESSION['newEl'] = 'value';
В блоке кода куда Вас заводит submit формы сделайте после валидации логина запись в сессию скажем того-же логина.
if(!empty($_POST)){
//валидация
//если проверки пройдены - заносите логин в сессию
$_SESSION['login'] = $_POST['login'];
}
На остальных страницах при условии прописаного кода старта сессии у Вас должна вардампится эта переменная, по этому условию можете считать пользователя авторизированым и не выводить ему форму авторизации.
Подробнее о сессиях можете прочитать в документации. Там же описаны частые причины "слетания"сессии при редиректах по страницам.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть слово в именительном падеже, единственном числеНужно перевести его в другой падеж и/или число
Не могу понять, почему рандомные данные которые я генерирую в функции мне не удается загрузить в БД через INSERT INTO
Суть проблемы: имеется скрипт, который должен добавлять в filetxt информацию, а если этот файл отсутствует, то создать его