[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: sessions+cookie
Lunberg88
Добрый вечер!
Начал изучать php, изучал тему сессии и куки и застопорился. Перечитал php.net, смотрел разные скрипты авторизации и никак не могу понять принцип работы связки сессия+кука.
Учусь по видео-урокам (inpost - school-php(*)com), что очень удобно и понятно, там по урокам по ходу изучения языка пишеться свой-первый учебный сайт, и в домашних заданиях есть такие вот задачки по типу: сделать авто-авторизацию (работа с куками). Как я уже не крутил ни черта не могу понять как же правильно сделать.

Вот есть код контроллера(обработчика) - auth.php
Код auth.php
<?php

if(isset($_POST['login'],$_POST['password'])) {
$res=q("
SELECT * FROM `users`
WHERE `login`='"
.es($_POST['login'])."'
AND `password`='"
.myHash($_POST['password'])."'
AND `active`=1
LIMIT 1
"
);

if(mysqli_num_rows($res)) {
$_SESSION['user']=mysqli_fetch_assoc($res);
$status = "OK";
/*
$login=$_SESSION['user']['login'];
$access=$_SESSION['user']['access'];
//

setcookie('login','',time()+3600*24,'/');
setcookie('access','',time()+3600*24,'/');

$_COOKIE['login']=$_SESSION['user']['login'];
$_COOKIE['access']=$_SESSION['user']['access'];
*/

header('location: index.php');
} else {
$error='Wrong login or password';
}


}




?>

И вид, view - auth.tpl

Код auth.tpl
<div style="padding:100px;">
<?php
if(!isset($status) || $status !='OK') { echo @$error ?>



<form
action="" method="post">
Login: <input type="text" name="login"><br>
Pass: <input type="password" name="password"><br>
<input
type="radio" name="rem">Запомнить меня</input><br>
<input
type="Submit" name="Submit" value="Enter">
</form>



<?php
} else { ?>
Wrong pass or login
<?php } ?>
</div>


Все мои потуги безуспешны, хотя ничего сложного вроде здесь нет, *setcookie -создает,редактирует,удаляет куку у клиента), а вот с глобальной $_COOKIE['ключ'] - уже проблема, этой переменной я так понимаю присваивается название или значение - от setcookie?
Пробовал работать только с сессиями, но после закрытия браузера сессия сразу умирает. Как-то ковырялся с куками, вродь сделал, но после открытия браузера кука считывалась а вот сессия мертва была...

В общем если можете, помогите разобраться, хочу понять какой же принцип работы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.