Перепробовал кучу разной ерунды, но ни в какую не удаётся привязать кукисы или сессию к форме авторизации. притом моя авторизация довольна необычна. она без mySQL а полностью состоит из формы регистрации и авторазации. всё работает на 99% но никак не удаётся привязать это сохранение данных. вот сам код.
<?
$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))
{
echo ("Поля не заполнены.");
}
$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();
}
if (isset($_POST['session_out']))
{
#unset($_SESSION["Username"]);
#session_destroy();
setcookie ( 'cookie', '', time()-5 );
}
$Cookie = $login;
setcookie('cookie',$Cookie,time() + (86400 * 5));
?>
Вот сама форма авторазации. сам файл base.txt состоит из пары строк.
maksim|:|123|:|user
max|:|123|:|user
и больше ничего. форму регистрации нет смысла представлять так как всё работает и проверено. Но почему у меня ни в какую не хотят завестись кукисы\сессии. что сделано не так?
вот пример готовой страницы
<?
require ("auth.php");
if( $_COOKIE['cookie'] == $login )
{
echo 'Привет, ' . $_COOKIE['cookie'] . '!';
echo "<a href='p2.php'>На следующую страницу</a>";
echo('<form method=\"post\"><input type = \'submit\' name = \'session_out\' value = \'Выйти\'></form>');
}
else
{
echo 'Привет, Гость!';
AuthForm();
}
?>
Попробуйте
setcookie('cookie',$Cookie,time() + (86400 * 5), '/');
Часто выручал такой "хук". Еще попробуйте записать в cookies для теста рандомное значение, но сделать запись в самом начале скрипта. Если сработает, придется переосмыслить запись. Не точно, но вроде как setcookie на уровне заголовков.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть слово в именительном падеже, единственном числеНужно перевести его в другой падеж и/или число
Не могу понять, почему рандомные данные которые я генерирую в функции мне не удается загрузить в БД через INSERT INTO