[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Установка кук
Xes
Хочу хранить посещения в cookie для этого использовать одну переменную в 4000символов.

Сначала вопрос по установке. http://www.php.su/phphttp/?cookies
<?php
// Устанавливаем Cookie до конца сессии:
SetCookie("Test","Value");
// Устанавливаем Cookie на 24 часа после установки:
SetCookie("My_Cookie","Value",time()+24*3600);
?>

Второй вариант со сроком жизни. Это ведь справедливо только для моей тайм зоны (точнее сервера). Так если может оказаться что для кого то кука будет удалена раньше чем через 24 часа? Это ест так?

Второе почему то постоянно создаются новые куки вместо того чтобы добавлять нвые УРЛ в строку.
function StartCookie(){
$flag_setcookie = false;
if(empty($_COOKIE['visiteduri'])){
if(setcookie('visiteduri', $_SERVER['REQUEST_URI']))
$flag_setcookie = true;
}else{
if(is_string($_COOKIE['visiteduri'])){
$lencookie = mb_strlen($_COOKIE['visiteduri']);
$visiteduri = explode(' | ', $_COOKIE['visiteduri']);
if(!in_array($_SERVER['REQUEST_URI'], $visiteduri)){
if($lencookie < 3500){
$visiteduri[] = $_SERVER['REQUEST_URI'];
$visiteduri = implode(' | ', $visiteduri);
if(setcookie('visiteduri', $visiteduri))
$flag_setcookie = true;
}else{
if(setcookie('visiteduri', $_SERVER['REQUEST_URI']))
$flag_setcookie = true;
}
}
}
}

return $flag_setcookie;
}

Еще создаются куки с именами типа "c8842" что это идентификаторы чтоли какие?



Спустя 2 часа, 31 минута, 28 секунд (3.11.2011 - 11:11) Xes написал(а):
Куки с именами типа "c88424" создаются без конца хотя я и удалил со страницы создания кук и сесий.
А так же не удается удалить ни одной куки (даже последнесозданой) так
setcookie('visiteduri', '');

Спустя 1 минута, 58 секунд (3.11.2011 - 11:13) Игорь_Vasinsky написал(а):
Цитата
Второй вариант со сроком жизни. Это ведь справедливо только для моей тайм зоны (точнее сервера). Так если может оказаться что для кого то кука будет удалена раньше чем через 24 часа? Это ест так?

Нет. Используется не время сервера - а срок жизни.

Цитата
Второе почему то постоянно создаются новые куки вместо того чтобы добавлять нвые УРЛ в строку.

А что PHP умеет редактировать куки? я не знал.

Спустя 8 минут, 59 секунд (3.11.2011 - 11:22) Xes написал(а):
Цитата (Игорь_Vasinsky @ 3.11.2011 - 08:13)
А что PHP умеет редактировать куки? я не знал.


Ну непосредсвенно их не редактирую я читаюю куку, потом изменяю эту строку и обратно записываю в туже переменную кукие.
Собсвенно примерно так

setcookie("test","Hello");
setcookie("test","Hello 1");

Разве не идет перезапись куки? Все жи примеры со счетчиком именно так работают.

Так же попробывал удалить куку
setcookie('visiteduri', '');

тоже не работает

Спустя 6 минут, 40 секунд (3.11.2011 - 11:29) Xes написал(а):
<?php
// Проверяем, был ли уже установлен Cookie 'Mortal',
// Если да, то читаем его значение,
// И увеличиваем значение счетчика обращений к странице:

if (isset($_COOKIE['Mortal'])) $cnt=$_COOKIE['Mortal']+1;
else $cnt=0;
// Устанавливаем Cookie 'Mortal' зо значением счетчика,
// С временем "жизни" до 18/07/29,
// То есть на очень долгое время:

setcookie("Mortal",$cnt,0x6FFFFFFF);
// Выводит число посещений (загрузок) этой страницы:
echo "<p>Вы посещали эту страницу <b>".@$_COOKIE['Mortal']."</b> раз</p>";
?>

Спустя 4 минуты, 24 секунды (3.11.2011 - 11:33) Игорь_Vasinsky написал(а):
//Если куки нету
if(!isset($_COOKIE['My_Cookie']))
SetCookie("My_Cookie","Value",time()+3600);
//Если они есть - то считать значение и добаить новое
else
SetCookie("My_Cookie", $_COOKIE['My_Cookie']."2");


echo $_COOKIE['My_Cookie'];



При первом почещении куки создадутся и выведеться "Value"
При послед обновлении будешь получать "Value2"
"Value22"
"Value222"

Спустя 49 минут, 28 секунд (3.11.2011 - 12:23) Xes написал(а):
Вона но чего, кука создается для каждой страницы. Я то думал это как сесия раз создал потом в любом месте сайта можно достать. А так это плохинько, получается что только около 50 страниц я могу запомнить в куках которые поситил юзер.

Спустя 1 минута, 36 секунд (3.11.2011 - 12:24) Игорь_Vasinsky написал(а):
можно попробывать писать страницы в сессионный массив и перед выходом писать в куки

Спустя 49 секунд (3.11.2011 - 12:25) Winston написал(а):
Цитата (Xes @ 3.11.2011 - 11:23)
создал потом в любом месте сайта можно достать

Конечно можно
print_r($_COOKIE);

Спустя 5 часов, 15 минут, 34 секунды (3.11.2011 - 17:41) Guest написал(а):
Я в опере отключил прием кук и они не создаются но почемуто возвращается TRUE?
$flag_session_start = session_start();

Цитата
This function returns TRUE if a session was successfully started, otherwise FALSE.
Быстрый ответ:

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