Я получил следующий код:
<?php $id = $_GET['id']; $vote = $_GET['vote']; $month = 2592000 + time(); $cookie = "votez" . $id; $cookiez = "viewz" . $id; if(isset($_COOKIE[$cookiez])) { if(!isset($_COOKIE[$cookie])) { setcookie($cookie, "voted", $month, '/', ".mywebsite.co.il"); } } else { setcookie($cookiez, "viewed", $month, '/', ".mywebsite.co.il"); }
?>
предположим, что я впервые перейду в> www.mywebsite.co.il/example.php?id=1&vote=1> он установит первый файл cookie. во второй раз> он установит второй файл cookie. в третий раз> ничего не произойдет
так оно и должно работать.
но если я перейду в> www.mywebsite.co.il?/example.php?id=1&vote=2 (после того, как я был на сайте www.mywebsite.co.il/example.php?id=1&vote=1), он установит первый cookie снова.
если я перейду на сайт www.mywebsite.co.il?/example.php?id=1&vote=3 (после того, как я был на сайте www.mywebsite.co.il/example.php?id=1&vote=1), он установит первый cookie снова.
и так далее..
что мне нужно сделать, независимо от того, какой голос равен, до тех пор, пока его одинаковый идентификатор, cookie будет таким же?
(это не полный код, и вам не нужен полный код, чтобы понять проблему или решить ее).
благодаря!.
В любом случае, проверьте это http://labs.shikiryu.com/test-cookie.php :
<? $id = "1"; $vote = "2"; $month = 2592000 + time(); $cookie = "votez" . $id; $cookiez = "viewz" . $id; if(isset($_COOKIE["$cookiez"])) { if(!isset($_COOKIE["$cookie"])) { var_dump(setcookie("$cookie", "voted", $month, '/', ".shikiryu.com")); echo "2nd cookie set :".$month; } } else { var_dump(setcookie("$cookiez", "viewed", $month, "/", ".shikiryu.com")); echo "1st cookie set :".$month; }
Как вы проверяете свой файл cookie? потому что, например, в firefox, вы должны искать свой домен (а не ваш поддомен). В хром, ctrl + I, вкладка хранилища.
Можете ли вы попробовать этот код на своем сервере и вернуться, чтобы сообщить нам, работает ли он, это может быть связано с вашим доменным именем юникода.
Я изменил код на (тот же url):
<? $id = $_GET['id']; $vote = $_GET['vote']; $month = 2592000 + time(); $cookie = "votez" . $id; $cookiez = "viewz" . $id; if(isset($_COOKIE["$cookiez"])) { if(!isset($_COOKIE["$cookie"])) { var_dump(setcookie("$cookie", "voted ".$vote, $month, '/', ".shikiryu.com")); echo "2nd cookie named ".$cookie.". is set to :voted ".$vote; } } else { var_dump(setcookie("$cookiez", "viewed ".$vote, $month, "/", ".shikiryu.com")); echo "1st cookie named ".$cookiez." set to : viewed ".$vote; }
Если вы пытаетесь :
bool(true) 1st cookie named viewz1 set to : viewed 1
bool(true) 2nd cookie named votez1. is set to :voted 3
bool(true) 2nd cookie named votez1. is set to :voted 3