Ir para o conteúdo
jcfr

PHP COOKIES

Mensagens Recomendadas

jcfr    0
jcfr

Boa tarde a todos.

Estou com um problema que não estou a perceber o porquê de estar a acontecer se alguém me pudesse ajudar agradecia.

É o seguinte:

Segui os exemplos no seguinte link para testar:

http://php.net/manual/pt_BR/function.setcookie.php

tenho dois ficheiros diferentes:

set_cookie.php que guarda uma cookie

$value = 'alguma coisa de algum lugares';

setcookie("CookieTeste", $value);
setcookie("CookieTeste", $value, time()+3600);  /* expire in 1 hour */
setcookie("CookieTeste", $value, time()+3600, "/~rasmus/", ".example.com", 1);

e

get_cookie.php que vai buscar o valor da cookie

// Mostra um cookie individual
echo $_COOKIE["CookieTeste"];
echo $HTTP_COOKIE_VARS["CookieTeste"];
echo "<br /><br />";
// Outra maneira de depurar(debug)/testar é vendo todos os cookies
print_r($_COOKIE);

Até aqui tudo bem, quando corro o primeiro e de seguida o segundo, no segundo mostra-me o valor guardado na cookie.

o meu problema é que uso os seguintes links:

www.meudominio.com/set-cookie/

para abrir o ficheiro set_cookie.php

e www.meudominio.com/get-cookie/

para abrir o ficheiro get_cookie.php

quando utilizo o link directamente para os ficheiros funciona mas quando utilizo os de baixo abre as respectivas páginas mas apenas mostra isto:

Array ( [__utmx] => 250033811.00014809024267124155:1:1 [__utmxx] => 250033811.00014809024267124155:1945834:2592000 [phpSESSID] => bsi34273vpl9u65a7qpg0cm6b0 [__utma] => 250033811.731756702.1325680000.1325765980.1325778208.5 [__utmc] => 250033811 [__utmz] => 250033811.1325680000.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) )

alguém sabe o porquê de não me assumir a cookie para o segundo caso se os ficheiros são os mesmos?

Se souberem outra forma através do php de guardar um valor que possa ir buscar mais tarde mesmo uns dias depois também serve.

Desde já muito obrigado.

--

Edit(brunoais): Alterado para usar o geshi

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
brunoais    69
brunoais

Se souberem outra forma através do php de guardar um valor que possa ir buscar mais tarde mesmo uns dias depois também serve.

Usa o array $_SESSION

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg

Se souberem outra forma através do php de guardar um valor que possa ir buscar mais tarde mesmo uns dias depois também serve.

Usa uma base de dados.


Nao tenho agora disponibilidade para estudar o problema dos cookies. Verifica os dominios? O teu hosting faz redireccionamento ou tem publicidade num frame ou outra treta destas???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jcfr    0
jcfr

Obrigado mas o SESSION não me serve, eu queria as cookies porque o meu objectivo é alguém seleccionar a linguagem em que deseja ver o site e se voltar passado uns dias continuar com a linguagem escolhida e no caso do SESSION isso não acontece, só serve para o momento.

alguém sabe alguma forma de fazer isto mesmo que não seja com COOKIES??

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
brunoais    69
brunoais

Hum... Em que parte do código é que estás a escrever essas funções para definir um cookie? Parece que estás a escrever num local errado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
brunoais    69
brunoais

Neste momento é mesmo no inicio do documento, não tenho nada antes....

Hum... Qual o encode do ficheiro?

Escreve isto antes desse código sff:

error_reporting(-1);

Já tentei também dentro do body e também não dava....

Isso é normal. Os cookies têm que ser enviados juntamente com os outros headers.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jcfr    0
jcfr

já coloquei o código e não apareceu nada de novo...

não dá erro nenhum....

e não devia dar porque quando corro os ficheiros eles funcionam correctamente, a diferença é que quero chamar os ficheiros através dos chamados links inteligentes ou lá como se chamam ou seja em vez de abrir o ficheiro set_cookie.php quero usar o link /set-cookie/ e em vez do get_cookie.php usar o /get-cookie/,

quando uso o get_cookie.php mostrame o valor da cookie guardado sem problemas e quando uso o /get-cookie/ abre bem o ficheiro e mostra tudo o que eu lá meter mais mas não mostra a cookie porque assume-a vazia :s

não percebo se o ficheiro é o mesmo pk não funciona das duas maneiras?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jcfr    0
jcfr

bem já resolvi o problema de uma forma um pouco menos ortodoxa usando cookies e sessions ao mesmo tempo,

tenho um ficheiro que é corrido directamente sem uso de links inteligentes ou lá como se chamam, nesse ficheiro, como é corrido directamente, as cookies funcionam, entao uso-o para guardar a lingua selecionada quando o utilizador a escolhe e guardo ai uma cookie e quando entram no site vão sempre uma primeira vez a esse ficheiro que verifica se a lingua está definida na cookie e passa esse valor para a session que será utilizada posteriormente em todo o site.

Desta forma posso usar o valor na session.

Entretanto se alguém souber uma forma melhor de fazer isto agradecia que me dessem umas luzes ;)

obrigado a todos os que tentaram ajudar e aos que só não ajudaram porque também não sabiam :confused:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade