fo_11 0 Denunciar mensagem Publicado 15 de Maio de 2010 O objectivo é simples. Tenho de contar as vezes que um utilizador visita um certo site e quando atingir as 30 visitas devo eliminar a cookie e iniciar a contagem de novo. A contagem está a ser efectuada com sucesso mas quando atinjo o numero superior a 30 não recomeça de novo. Alguém me pode ajudar? Aqui fica a parte do script responsavel pela criação e eliminação do cookie: <?php if(isset($_COOKIE["cookietabelaclubes_1"])) if(30<$_COOKIE["cookietabelaclubes_1"]) setcookie("cookietabelaclubes_1","",time()-3600); //eliminar o cookie basta inserir um tempo de validade na hora atrás em que se encontra o utuilizador setcookie("cookietabelaclubes_1",++$_COOKIE["cookietabelaclubes_1"],time()+3600); //o tempo de validade da cookie é colocado sempre em segundo para colocar dias até expirar basta efectuar a conversao 24*60*60*.... ?> Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
IceBrain 1 Denunciar mensagem Publicado 15 de Maio de 2010 "Eliminar uma cookie" é simplesmente volta a defini-la com um tempo já expirado. No entanto, essa eliminação só acontece no browser, por isso mesmo depois de correr a "eliminação" a array $_COOKIE não é afectada (mantém os valores que recebeu do browser). O que tu queres não é eliminar a cookie (visto que a vais recriar logo a seguir), simplesmente tens que a definir a zero. <?php if(!isset($_COOKIE["cookietabelaclubes_1"]) || $_COOKIE["cookietabelaclubes_1"] > 30) $novacookie = 0; else $novacookie = $_COOKIE["cookietabelaclubes_1"]; setcookie("cookietabelaclubes_1", ++$novacookie, time()+3600); //o tempo de validade da cookie é colocado sempre em segundo para colocar dias até expirar basta efectuar a conversao 24*60*60*.... ?> ❝The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying.❞- John Carmack on software patents A list of command line apps Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
fo_11 0 Denunciar mensagem Publicado 15 de Maio de 2010 Ok, obrigado pela explicação Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites