Nicca
Новичок
Помогите построить структуру корзины на сессиях
Есть пользователи сайта: гости и зарегистрированные
При заходе на сайт используется следующая проверка:
Проблема в следующем.
Захожу под гостем. Выбираю 10 позиций товара в корзину. Потом логинюсь в ситему. В корзине показывает 0 позиций(правильно). Выбираю 5 позиций. Все нормально. Теперь разлогиниваюсь - пишет 10 (те что были до входа в систему)
Как в моем случае сделать чтобы после выхода из системы стартовала новая "гостевая" сессия и елементов в корзине было 0
Есть пользователи сайта: гости и зарегистрированные
При заходе на сайт используется следующая проверка:
PHP:
//
if($page_protect->access()==true)
{
$US=$_SESSION['uslogin'];
$smarty->assign("login", $_SESSION['uslogin']);
$smarty->assign("US", $_SESSION['uslogin']);
}
else
{
$US=$_SESSION['nologin'];
$smarty->assign("nologin", $_SESSION['nologin']);
$smarty->assign("US", $_SESSION['nologin']);
}
//Функция access()
function access() {
if( $this->login_reader()) //Эта функция видит что есть кука и присаевает $_SESSION['uslogin']=$this->email;
{
return true;
}
if(isset($_SESSION['uslogin'])) //Залогинен обычным методом без кук. Переменная $_SESSION['uslogin'] определена
{
return true;
}
else // Пришел гость. Регистрируем сес.переменную под гостя.
{
session_register("nologin");
$_SESSION['nologin']='gest';
return false;
}
}
// Функция выхода из системы
function log_out() {
setcookie ($this->cookie_name, "", time()-25*14*360000, '/');
session_unregister("name");
session_destroy();
header("Location: [url]http://www.site.com/[/url]");
}
Захожу под гостем. Выбираю 10 позиций товара в корзину. Потом логинюсь в ситему. В корзине показывает 0 позиций(правильно). Выбираю 5 позиций. Все нормально. Теперь разлогиниваюсь - пишет 10 (те что были до входа в систему)
Как в моем случае сделать чтобы после выхода из системы стартовала новая "гостевая" сессия и елементов в корзине было 0
PHP:
//Выборка количетсва елементов из корзины идет после блока if($page_protect->access()==true) на каждой странице
$sql="select * from korzina where us_id='".$US."'";
$res=db_select($sql);
$n=mysql_num_rows($res);
$smarty->assign("n", $n);