SEO Сообщество: Спрашивайте и помогайте

Присоединяйтесь к сообществу профессиональных веб-мастеров PR-CY, отвечайте на вопросы коллег и задавайте свои.

Q&A SEO

Помощь в php. изменить куки по ссылке

Apple68 Apple68  
44
  14.04.2013 13:07       2 898    
Всем привет. Т.к. я с JS не дружу, то решил обратиться за помощью к вам. В интернете нашел инфу, но немного не то. Вот что есть:
//я получил из куки значение, переменна $bz, дальше если это число меньше 1, то он запишет куки со значением 3
$bz = $_COOKIE["txt"];
if($bz < 1){
$gtt = 3;
setcookie ("txt", $gtt);
}

Теперь мне в коде нужно сделать ссылки 
if ($bz == 3){
ссылка, для изменения значения куков на 2
}else{
ссылка на изменение значение куков на 3
}

Как реализовать эти ссылки? Нужно, чтоб я нажал на ссылку, у меня изменилось значение куков и обновилась страничка сайта.
Заранее спасибо.
 

Ответы на пост (14) Написать ответ
rafonets rafonets
177
14.04.2013 13:57
Причем тут вообще JS?
Первое!
$bz = intval( $_COOKIE["txt"] );
Второе!
setcookie ("txt", $gtt, время в секундах сколько времени куки должны быть живы);
Третье!
Ссылка должна иметь вид:
<a href="https://pr-cy.ru/jump/?url=%3Fcook%3D%D0%A6%D0%B8%D1%84%D1%80%D0%B0">1</a>
Четвертое добавить после первой строки:
$getCook = intval( $_GET['cook'] );
Теперь.
$getCook будет равен больше нуля если пользователь перешел по ссылке.
Дальше уже используй if else и т.д.
0
Apple68 Apple68
44
14.04.2013 14:00
<a href="https://pr-cy.ru/jump/?url=%3Fcook%3D%D0%A6%D0%B8%D1%84%D1%80%D0%B0">1</a> а как он определит, что ему нужно перезаписать? у меня в куках много значений хранятся. мне нужно именно txt переписать на другое значение
0
rafonets rafonets
177
14.04.2013 14:15
Он не перезапишет, это самая обычная ссылка, в который ты передаешь значение(т.е. цифру следующей куки). Дальше ты должен проверить переменную $getCook (которая должна быть на второй строке), если она не равна нулю и больше нуля, тогда значение $gtt должен изменить, т.е. $gtt = $getCook; или как-то так, вообщем то все зависит от системы работы скрипта и нужно добавить пару условий.
0
Apple68 Apple68
44
14.04.2013 14:18
Причем тут вообще скрипт. я создаю этот модуль отдельно от скрипта. В куках домена я создаю поле txt, оно создается сразу при заходе на сайт, если оно вообще не существует. По умолчанию оно будет равно 3. Дальше пользователь сам его может изменить(ссылкой) на значение 2.
Когда пользователь зайдет на сайт, у него значение куков будет равно 2, оно там и останется, перезапишутся куки в том случае, если они не существуют. Мне нужно сделать ссылку, нажав на которую у пользователя изменится значение куков txt на 2 или соответственно 3.
0
rafonets rafonets
177
14.04.2013 14:20
$bz = intval( $_COOKIE["txt"] );
$getCook = intval( $_GET['cook'] );
if( $getCook > 0 ){
setcookie ("txt", $getCook, 30 * 86400); // т.е. 30 дней
} else if($bz < 1){
setcookie ("txt", 3, 30 * 86400); // т.е. 30 дней
}
if ($bz == 3){
echo '<a href="https://pr-cy.ru/jump/?url=%3Fcook%3D2">2</a>';
}else{
echo '<a href="https://pr-cy.ru/jump/?url=%3Fcook%3D3">3</a>';
}
0
Apple68 Apple68
44
14.04.2013 14:22
?cook=2 что это вообще такое??
0
rafonets rafonets
177
14.04.2013 14:22
тут ошибка:
setcookie ("txt", 3, time() + ( 30 * 86400 ) ); // т.е. 30 дней
Вот так должно быть.
0
Apple68 Apple68
44
14.04.2013 14:23
Для куков не обязательно задавать время хранения.
0
rafonets rafonets
177
14.04.2013 14:23
это параметр который передается вместе с URL, Вместо того чтобы задавать столько вопросов, лучше бы погуглил по теме.
0
Apple68 Apple68
44
14.04.2013 14:26
При заходе на сайт у меня создается много куков, которые хранятся в домене. Вот одно из них. Имя куков "txt" значение, как я и сказал, равно 3. теперь мне нужно сделать кнопку, которое измение это на значение на 2. У меня еще много куков в этом домене хранятся.
0
rafonets rafonets
177
14.04.2013 14:21
Apple68, если я шарю в программировании то код который ты пишешь (изменение куков и т.д.) тоже есть скрипт.
Пример выше должен работать.
0
Apple68 Apple68
44
14.04.2013 14:22
Нет, параметр куков все равно остается прежним
0
Apple68 Apple68
44
14.04.2013 14:26
значение*
0
Blaze26 Blaze26
0
20.04.2014 06:08
у меня вообще этот код не работает
0