<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Кнопка “запомнить“ при авторизации
17.07.2012 06:06:45 Кнопка “запомнить“ при авторизации Сообщение #1
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

Удалил и снова установил денвер и стало все нормально.
index.php

<?php session_start();
if(isset($_COOKIE['remember'])){
header("Location:room.php";
}
if(isset($_POST['go'])){
if(isset($_POST['name'])){
$_SESSION['name'] = $_POST['name'];
if(isset($_POST['remember'])){

setcookie('remember',$_SESSION['name'], time()+60);

}

header("Location:room.php";

}

}
?>
<form action = '' method = 'POST'>
Имя:<br/>
<input type = 'text' name = 'name' ><br/>
<input type = 'checkbox' name = 'remember' ><br/>
<input type = 'submit' name = 'go' value = 'Пошел'>
</form>

room.php

<?php session_start();
if(!isset($_SESSION['name']))
header("Location:index.php";
echo "Wello, ".$_SESSION['name'];
?>

имя отображается, все хорошо, но только до закрытия броузера! после закрытия броузера и его открытия перехеода по адресу index.php либо room.php выдает в броузере такую ошибку "На этой странице обнаружена циклическая переадресация" - это значит, что кука на странице index.php установлена, поэтому меня перенапровляет на room.php, а на странице room.php идет проверка существует ли $_SESSION['name'] которая по сути должна быть записанная в куках, короче, он не находит эту $_SESSION['name'] и перенаправляет снова на index.php и гоняет туда - суда. вопрос, почему так? ведь $_SESSION['name'] записан в куках и должен работать нормально и при вызове $_SESSION['name'] после повторного открытия браузера должен срабатывать.
И еще если на странице room.php делать так, то нормально все будет после закрытия и снова открытия броузера

<?php session_start();
$_SESSION['name'] = $_COOKIE['remember'];
echo "Wello, ".$_SESSION['name'];
?>

ну или

<?php session_start();
$_COOKIE['remember'];
echo "Wello, ".$_COOKIE['remember'];
?>
Профиль Ответить
17.07.2012 10:41:52 Кнопка “запомнить“ при авторизации Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Всё правильно, сессия на она и сессия, что служит только до закрытия браузера. А вот куки уже для того, чтобы сохранить данные межу заходами. В Вашем примере сохраняется кука remember с именем пользователя, поэтому только из неё у Вас и получается восстановить имя пользователя.
Профиль Ответить
17.07.2012 17:54:01 Кнопка “запомнить“ при авторизации Сообщение #3
Default

Default

Эксперт

Эксперт

Дата регистрации:
12.06.2012 15:20:27

Сообщений: 102

То есть надо сделать приблизительно следующее:

if(!isset($_SESSION[login]) && isset($_COOKIE['remember'])){
$_SESSION['login'] = $_COOKIE['remember']
// а в случаи если нет кук, то делать проверку есть ли $_SESSION['login']
}

так?
Профиль Ответить
17.07.2012 19:29:03 Кнопка “запомнить“ при авторизации Сообщение #4
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, суть такая.
Профиль Ответить