Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micilini Roll

Cookie nao se cria em alguns projetos?

Recommended Posts

pessoal eu tenho 2 pastas no meu servidor

 

1-extençoes = aonde fica os arquivos .js

2-executar = aonde fica arquivos php que chama as extençoes

 

dentro da pasta extençao tenho o jquey_cookie.js e dentro da pasta executar tem o arquivo ler_cookie.php que puxa a extençao do jquery e do jquery_cookie e ainda verifica se o cookie existe se nao existir ele cria um cookie!

 

a)se eu executar o ler_cookie.php ele cria o cookie

b)agora se fora destas duas pasta eu criar um index.php que chama o arquivo ler_cookie.php atravez de um include..o cookie nao é criado porque?



disponibilizo os arquivos pra voces tirarem suas propria conclusoes:

 

http://www.olyng.com/olyng/cookies.zip

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal seguinte! encontrei 100% da resposta! pois bem vamos lá:

 

vamos se basear no projeto chamado ler_cookie.php dentro dele encontramos os seguintes codigo:

 

<script src="../extencoes/detector-cookie.js"></script>
<script src="../extencoes/jquery-1.9.1.min.js"></script>
<script>
jQuery.cookie('cookies', 'yep');
if ($.cookie("cookies") == null){
window.location = 'requisitos.php?p=cookies';
}
</script><!-- testa o navegador a suporte a cookies -->

 

 

entao no projeto o caminho :

 

 

 

 

../extencoes/detector-cookie.js

 

existe! e se voce abrir este comando no apache ele cria um cookie normalmente,agora como dito existe fora destas pastas(extencoes e ler) um projeto php chamado index.php em seu codigo podemos observar:

 

<?
include ("ler/ler_cookie.php");
?>

 

 

como dito isso nao ira funcionar! porque? TEM-SE UMA LOGICA PARA DESCOBRIR...

 

1-antes devemos saber pra que serve o include?

 

resposta: ele serve para incluir outros projetos dentro de um outro projeto

 

entao se raciocinarmos e como se no index.php substituirmos o include por este comando:

 


<script src="../extencoes/detector-cookie.js"></script> <script src="../extencoes/jquery-1.9.1.min.js"></script>

<script> jQuery.cookie('cookies', 'yep'); if ($.cookie("cookies") == null){ window.location = 'requisitos.php?p=cookies'; } </script><!-- testa o navegador a suporte a cookies -->


 

 

entao se voces repararem se fizermos isso os caminhos:

 

 

<script src="../extencoes/detector-cookie.js"></script>
<script src="../extencoes/jquery-1.9.1.min.js"></script>

 

 

 

nao existirão mais!!!!..Pois o index.php esta localizado fora da pasta ler,como nao é o caso do ler_cookie.php,no entanto isso funciona para o ler pois tera que existir os ../, fazendo que selecione a pasta aonde se encontra as extençoes!! agora se ele for chamado atraves de um include que esta localizado fora da pasta ler,visto que "ele serve para incluir outros projetos dentro de um outro projeto" entao no caso estes diretorios nao existem mais!....

 

Entao para resolver este tipo de problema,deveremos ir dentro do projeto ler_cookie.php e tirar o ../ dos src dos scripts,agora se executarmos diretamente o ler_cookie.php ele nao ira criar cookies(UMA VEZ QUE NAO É NECESSARIO O USUARIO DA INTERNET ABRIR ESTE ARQUIVO SOZINHO) entao como o usuario da net sempre vai abrir o index entao o index ira passar a criar cookies e o ler_cookies.php nao criará!



Problema resolvido e uma grande lição de logica aprendida ! :yes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.