Ir para conteúdo

POWERED BY:

Arquivado

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

Dexter Morgan

[Resolvido] valor do cookie nao aparece

Recommended Posts

Seguinte galera tenho um site de noticias onde tem uma area de assinante certo quando o user faz o login aparece o email dele beleza no topo da pagina, mas se volto para a index onde tem logar ele some com o email e nao mostra o email logado .. ja tentei de tudo aqui nao aparace de jeio nenhum estou usando cookies , pq antes estava usando session, mas tava virando m***** ,,, eu estou pensando que ele nao mostra pelas paginas estarem em pastas diferentes segue o modelo:

 

header de todas paginas de noticias fica na index (uso include)

 

header.php

<?php

include "conexao.php";
$sql = mysql_query("SELECT * FROM user WHERE email='{$email}' AND senha='{$senha}' AND ativado='1'");
$login_check = mysql_num_rows($sql);
if (!$_COOKIE["id_user"]) {
echo "<div class='logged'><div class='logged-admin'><div class='logged-border'>";
echo "<div id='user'><font face='verdana' size='2' color='#ffffff'>Área dos Assinantes |</font> <a href=\"assinante/index.php\" style='outline:0;'><smal><font face='verdana' size='2' color='#ffffff'>Logar</font></smal></a></div>";
echo "</div></div></div>";
}
else {
echo "<div class='logged'><div class='logged-admin'><div class='logged-border'>";
echo "<a href=\"assinante/index.php\" style='outline:0;' title='Ir à minha Área Restrita' alt='Ir à minha Área Restrita'><div id='user'><font face='verdana' size='2' color='#ffffff'>$email |</font></a> <a href=\"assinante/logout.php\" style='outline:0;'><smal><font face='verdana' size='2' color='#ffffff'>Sair</font></smal></a></div>";
echo "</div></div></div>";
}

?>

 

agora o header da area dos assinantes que esta na pasta assinante

 

<?php include "function.php"; checker(); // para proteger a area dos assinantes contra acesso invalidos ?>

<?php

$id_user = $HTTP_COOKIE_VARS["id_user"];
$id_tipo = $HTTP_COOKIE_VARS["id_tipo"];
$emailalternativo = $HTTP_COOKIE_VARS["emailalternativo"];
$email = $HTTP_COOKIE_VARS["email"];
$senha = $HTTP_COOKIE_VARS["senha"];
$nomeavatar = $HTTP_COOKIE_VARS["nomeavatar"];
$nome = $HTTP_COOKIE_VARS["nome"];
$sobrenome = $HTTP_COOKIE_VARS["sobrenome"];
$cpf_cnpj = $HTTP_COOKIE_VARS["cpf_cnpj"];
$sexo = $HTTP_COOKIE_VARS["sexo"];
$foto = $HTTP_COOKIE_VARS["foto"];
$pais = $HTTP_COOKIE_VARS["pais"];
$estado = $HTTP_COOKIE_VARS["estado"];
$cidade = $HTTP_COOKIE_VARS["cidade"];
$cep = $HTTP_COOKIE_VARS["cep"];
$rua = $HTTP_COOKIE_VARS["rua"];
$bairro = $HTTP_COOKIE_VARS["bairro"];
$ddd = $HTTP_COOKIE_VARS["ddd"];
$tel = $HTTP_COOKIE_VARS["tel"];
$nivel = $HTTP_COOKIE_VARS["nivel"];
$ativado = $HTTP_COOKIE_VARS["ativado"];

include "../conexao.php";
$sql = mysql_query("SELECT * FROM user WHERE email='{$email}' AND senha='{$senha}' AND ativado='1'");
$login_check = mysql_num_rows($sql);
if (!$_COOKIE['id_user']) {
echo "<div class='logged'><div class='logged-admin'><div class='logged-border'>";
echo "<div id='user'><font face='verdana' size='2' color='#ffffff'>Área dos Assinantes |</font> <a href=\"index.php\" style='outline:0;'><smal><font face='verdana' size='2' color='#ffffff'>Logar</font></smal></a></div>";
echo "</div></div></div>";
}
else {
echo "<div class='logged'><div class='logged-admin'><div class='logged-border'>";
echo "<div id='user'><font face='verdana' size='2' color='#ffffff'>$email |</font> <a href=\"logout.php\" style='outline:0;'><smal><font face='verdana' size='2' color='#ffffff'>Sair</font></smal></a></div>";
echo "</div></div></div>";
}

?>

 

se alguem tiver uma luz, lembrando que no if do header da index ja tentei com isset sem isset com isset e ! e nao vai ;/ helppp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andrey Knupp funfou nao , continua na mesma ;/

 

tentei com essa dica que encontrei

 

 

Quem está tendo problema ao usar COOKIES em PHP, quando cria um cookie em uma pasta do site, e em outra pasta não consegue capturar o valor criado, você deve usar também o domínio do seu site na linha do setcookie para que seu COOKIE funcione em todas as páginas do site sem problema.

 

$tempo_cookie = 60; // 60 segundos

setcookie("nome_do_cookie", "valor_do_cookie", time()+($tempo_cookie), "/", "seudominio.com");

 

 

mas da erro ai nao consigo nem logar

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse aqui é o arquivo check quando clica em login passa por ele

 

 

check

<?php

include "../conexao.php";

$email = $_POST['email'];
$senha = $_POST['senha'];
if((!$email) || (!$senha)) {
echo "<center>";
echo "<br />";
echo "<table class='error' width='800'>";
echo "<tr bgcolor='#ffffff'>";
echo "<td>";
echo "<div align='center'><font face='verdana' size='2' color='#cc0000'>Por favor, todos campos devem ser preenchidos!</font></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</center>";
include "login.php";
}
else {
$sql = mysql_query("SELECT * FROM user WHERE email='{$email}' AND senha='{$senha}' AND ativado='1'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach($row AS $key => $val){
$$key = stripslashes($val);
}
setcookie ("id_user", $id_user);
setcookie ("id_tipo", $id_tipo);
setcookie ("emailalternativo", $emailalternativo);
setcookie ("email", $email);
setcookie ("senha", $senha);
setcookie ("nomeavatar", $nomeavatar);
setcookie ("nome", $nome);
setcookie ("sobrenome", $sobrenome);
setcookie ("cpf_cnpj", $cpf_cnpj);
setcookie ("sexo", $sexo);
setcookie ("foto", $foto);
setcookie ("pais", $pais);
setcookie ("estado", $estado);
setcookie ("cidade", $cidade);
setcookie ("cep", $cep);
setcookie ("rua", $rua);
setcookie ("bairro", $bairro);
setcookie ("ddd", $ddd);
setcookie ("tel", $tel);
setcookie ("nivel", $nivel);
setcookie ("ativado", $ativado);
header("Location: index.php");
}
}
else {
echo "<center>";
echo "<br />";
echo "<table class='error' width='800'>";
echo "<tr bgcolor='#ffffff'>";
echo "<td>";
echo "<div align='center'><font face='verdana' size='2' color='#cc0000'>E-mail e/ou Senha Inválido</font></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</center>";
include "login.php";
}
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Limpei tudo e fiz a ferificação ,mas não funfo ... deixei até o valor do id por enquanto para aparecer na area do assinante ....

 

acho que é por causa de que quando cria um cookie em uma pasta do site, e em outra pasta não consegue capturar o valor criado, pois acabei de fazer uma "gambiarra" de um login na pasta index do site e apareceu normal mas ai entrei na area do assinante entrou direto sem pedir senha logo desloguei da area do assinante mas quando voltei tava logado na index, o cookie que criei na index nao destrui tive que deslogar pelo index tbm

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andrey Knuppde, deu certo cara vlw mesmo, eu tinha feito de outra maneira, tinha colocado a pagina de login na index e tinha funcionado ia pra qualquer subpasta logado mas ficou "bagunçado" minha estrutura agora voltei como era antes com sua dica ta tudo ok funcinando certim, coisa atoa hein pra quem precisar a base onde se cria o cookie fica assim

 

check.php

setcookie ("id_user", $id_user, (time()+3600), "/");

 

e a do logout para quebrar o cookie de todas (pastas)

 

logout.php

setcookie ("id_user", "$id_user", (time()-3600), "/");

 

beleza, só uma pergunta Andrey Knuppde criei um arquivo php só para resgatar os cookies assim:

 

cookie.php

<?php

$id_user = $_COOKIE["id_user"];
$id_tipo = $_COOKIE["id_tipo"];
$emailalternativo = $_COOKIE["emailalternativo"];
$email = $_COOKIE["email"];
$senha = $_COOKIE["senha"];
$nomeavatar = $_COOKIE["nomeavatar"];
$nome = $_COOKIE["nome"];
$sobrenome = $_COOKIE["sobrenome"];
$cpf_cnpj = $_COOKIE["cpf_cnpj"];
$sexo = $_COOKIE["sexo"];
$foto = $_COOKIE["foto"];
$pais = $_COOKIE["pais"];
$estado = $_COOKIE["estado"];
$cidade = $_COOKIE["cidade"];
$cep = $_COOKIE["cep"];
$rua = $_COOKIE["rua"];
$bairro = $_COOKIE["bairro"];
$ddd = $_COOKIE["ddd"];
$tel = $_COOKIE["tel"];
$nivel = $_COOKIE["nivel"];
$ativado = $_COOKIE["ativado"];

?>

 

ta certo ou é errado tem que puxar o cookie só na pagina que for usar pq assim eu puxo por include nos header.php

 

Vlw t+

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.