Ir ao conteúdo

Sistema simples de login com cookie não funciona


Guilherme Pereira

Posts recomendados

Postado

Já escrevi uma duvida parecida, era problema com envio de cabeçalho, porém troquei o código php para cima do html, sim costumo misturar os códigos, poderia colocar a parte mas não mudou nada também, a dúvida é por que não funciona ?

 

na page login esta:

 

<?phpinclude "../conecta/conexao.php";if(isset($_POST['logar'])){$mostrar = "";$login = strtoupper($_POST['login']);$senha = $_POST['senha'];$query  =  mysql_query("SELECT * FROM adm WHERE login = '$login' and senha = '$senha' ");$confirma  =  mysql_num_rows($query);if($confirma == 1){setcookie('login', $login, (time() + (3 * 24 * 3600)));setcookie('senha', $senha, (time() + (3 * 24 * 3600))); echo '<script>location.href="painel";</script>';}else { $mostrar = "Você digitou algo errado!!";}}?>e no painel<?php include "../conecta/conexao.php";$login = $_COOKIE["login"];$senha = $_COOKIE["senha"];if(isset($login) && isset($senha )){echo '<script>Bem vindo!</script>';}else{echo '<script>location.href="login";</script>';}?>
Postado

Primeiro, para que não ocorra algum problema ou até para facilitar seu código, quando você for colocar o include deixe ele em parênteses, exemplo include("exemplo/exemplo.php"), e de preferência não coloque os pontos ("/conecta/conexao.php"), porque pode identificar-los como um local. 

 

Outro problema que pode está ocorrendo e no "location.href=painel" e no "location.href=login", pois você não está definindo o tipo de arquivo referente.

 

Se caso isso não resolver, post com mais exatidão qual é o problema e o o que não está ocorrendo como você queria.

Postado

Esta dando problema no codigo setcookie nao sei. q, antes estava com session mas estava dando warning, dai.troquei.para os cookies e nada o.mais engracado.cara que no.wamp funciona nao.sei.porque.

E um simples sistema de login mais nada.:(

Sobre as extenssoes eu.nao.coloco porque utilizo htaccess tendeu, por isso nao especifico.

Nao utilizo nenhuma plataforma somente notepadd, então nao e problema com software

E desse jeito que ta ele loga na page painel mas com warning na linha do if no painel e nas linhas do setcookie no.login

Postado

Tenta usar esse código: 
 

<?phpinclude "../conecta/conexao.php";if(isset($_POST['logar'])){$mostrar = "";$login = strtoupper($_POST['login']);$senha = $_POST['senha'];$query  =  mysql_query("SELECT * FROM adm WHERE login = '$login' and senha = '$senha' ");$confirma  =  mysql_num_rows($query); if($confirma == 1){setcookie('login', $login, time() + 3 * 24 * 3600);setcookie('senha', $senha, time() + 3 * 24 * 3600);echo '<script>location.href="painel";</script>';}else{ $mostrar = "Você digitou algo errado!!";}}?>e no painel<?phpinclude "../conecta/conexao.php";$login = $_COOKIE["login"];$senha = $_COOKIE["senha"]; if(isset($login) && isset($senha)){echo '<script>Bem vindo!</script>';}else{echo '<script>location.href="login";</script>';}?>
Postado

utilizando o code assim: 

 

setcookie('login', $login, time() + 3 * 24 * 3600);setcookie('senha', $senha, time() + 3 * 24 * 3600); echo 'location.href="painel";</script>';
 

da o erro: Warning: Cannot modify header information - headers already sent by (output started at /home/negoc089/public_html/adm/login.php:1) in/home/negoc089/public_html/adm/login.php on line 13.

 

 

e utilizando assim: 

setcookie('login', $login, time() + 3 * 24 * 3600);setcookie('senha', $senha, time() + 3 * 24 * 3600); echo '<script>location.href="painel";</script>';
 
a o erro: Warning: Cannot modify header information - headers already sent by (output started at /home/negoc089/public_html/adm/login.php:1) in/home/negoc089/public_html/adm/login.php on line 13.
 
 
 
Mesmo erro, porque ?
Postado

Olha pode ser que já existe um cookie com o nome 'login' ou' senha', por isso ele da esse AVISO (Warning).

 

Se você estiver usando o navegador Google Chrome baixe o EditThisCookie para visualizar, alterar ou excluir o cookie  existente.

 

Caso esse não seja o problema, tenta modificar o seu código. Em caso de qualquer dúvida eu crio um aqui rápido para você.

Postado

Outro problema é que você declarou a variável $login dentro de um if e quando ele termina a variável é deletada, com isso quando você chama no seetcookie ele não identifica a variável, o correto ficaria assim:
 

if($confirma == 1){$login = $_COOKIE["login"];$senha = $_COOKIE["senha"];setcookie('login', $login, time() + 3 * 24 * 3600);setcookie('senha', $senha, time() + 3 * 24 * 3600);echo '<script>location.href="painel";</script>';}

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...