Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: кукисы и пследний просмотр
 
 автор: SaIdEr   (26.10.2012 в 16:24)   письмо автору
 
 

Помогите разобраться с кукисами.
Есть вот такой мною написанный php код на сессиях
$col_n_prosmotr="3"; // количество выводимого товара
$id_tovar_array=$_GET['id'];  // id товара

if(!isset($_SESSION['prosmotr_products'])){$_SESSION['prosmotr_products'][1]=$id_tovar_array;}
elseif(!in_array($id_tovar_array, $_SESSION['prosmotr_products']) && $one_sess==0){$_SESSION['prosmotr_products'][]=$id_tovar_array;}

$form_chislo=count($_SESSION['prosmotr_products'])-$col_n_prosmotr;
foreach($_SESSION['prosmotr_products'] as $key => $value) {
$s++;
if($s<=$form_chislo){unset($_SESSION['prosmotr_products'][$key]);}
}

foreach (array_reverse($_SESSION['prosmotr_products']) as $value_rev) {
echo $value_rev;
}

Он работает отлично, записывает id товара, который пользователь просматривал но вопрос заключается вот в чем при закрытии браузера сессии удаляются а как сделать так что бы он еще сохранял в кукисы а в последующем при открытии браузера данные из кукисов переносились в сессии

  Ответить  
 
 автор: SaIdEr   (26.10.2012 в 17:32)   письмо автору
 
   для: SaIdEr   (26.10.2012 в 16:24)
 

народ, вот дописал код собственно по тому вопросу который я и задавал, вот код:
$col_n_prosmotr="3";  // количество выводимого товара 
$session_time_prosmotr="1"; // время жизни кукисов в минутах
$id_tovar_array=$_GET['id']; // id товара 

$usr = unserialize($_COOKIE["cookie_prosmotr"]);

if(!isset($_SESSION['prosmotr_products'])){
if($usr==false){$_SESSION['prosmotr_products'][1]=$id_tovar_array;}
       else{$_SESSION['prosmotr_products']=$usr;}
}
elseif(!in_array($id_tovar_array, $_SESSION['prosmotr_products'])){
$_SESSION['prosmotr_products'][]=$id_tovar_array;
}

$form_chislo=count($_SESSION['prosmotr_products'])-$col_n_prosmotr;
foreach($_SESSION['prosmotr_products'] as $key => $value) {
$s++;
if($s<=$form_chislo){unset($_SESSION['prosmotr_products'][$key]);}
}

if(isset($_SESSION['prosmotr_products'])){
@setcookie ("cookie_prosmotr", serialize($_SESSION['prosmotr_products']), time()+60*$session_time_prosmotr);
}

foreach (array_reverse($_SESSION['prosmotr_products']) as $value_rev) {
echo $value_rev;
}


просмотрите, правильно ли я реализовал его!

  Ответить  
 
 автор: SaIdEr   (29.10.2012 в 22:51)   письмо автору
 
   для: SaIdEr   (26.10.2012 в 17:32)
 

Ну если нет ответов, я как понял что сделал все правильно, но в
$usr = unserialize($_COOKIE["cookie_prosmotr"]); 

я сделал поправку, не все сервера это понимают правильно и дописал так:
$usr = unserialize(stripcslashes($_COOKIE["cookie_prosmotr"]));

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования