Ir para conteúdo
Fórum Script Brasil
  • 0

problemas com cookies


Diogo Freitas

Pergunta

boas tardes,

modifiquei o meu sistema de login e senha. passei a usar cookies em vez de sessions.

mas tou com um problema. quando o user tenta fazer a validação o browser tenta entrar na página solicitada mas não consegue e fica permanentemente a tentar.

penso k tereri de terminar o outpu started e depois iniciar uma nova sessão.

como posso fazer isso?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0
me desculpe hipnos.:(

relativamente ao espaço em branco, isso eu já sabia, porem não consegui encontrar erro nem espaços em branco. veja ai.

abraço

Bem vou lhe dizer uma coisa você esta cometendo um ERRO classico, é o fato de execultar funções dentro do HTML ao invés de antes.

recomendo por somente algumas funções IFs dentro do BODY o resto sempre antes.

ficaria assim:

<?php
include "config.php"; //inclui o arquivo de configurações
$db   = mysql_connect ($host, $login_db, $senha_db); //conecta ao mysql
$basedados = mysql_select_db($database); //conecta a base de dados

$login = $_POST['login'];
$senha = $_POST['senha'];

$confirmacao = mysql_query("SELECT * FROM user_empresa WHERE login = '".$_POST['login']."' AND senha ='".$_POST['senha']."'"); //verifica se o login e a senha conferem
$contagem = mysql_num_rows($confirmacao); //traz o resultado da pesquisa acima

$x = mysql_fetch_assoc($confirmacao);

if ( $contagem == 1 ) {
  setcookie ("login", $login); //grava o cookie com o login
  setcookie ("senha", $senha); //grava o cookie com a senha
  $str = "<script>window.location=('empresa_user.php?id=".$x['id']."')</script>";
  $str .= "Usuário logado."; //se a senha digitada está correta, mostra a mensagem
  } else {
  $str = "Login ou senha inválidos. <a href='../emprego.php'>Clique aqui para voltar.</a>"; //se a senha está incorreta mostra essa mensagem
  }
?><html>
<title>:: Uttil - &eacute; mesmo uttil... - emprego ::</title>
<style>
body{
text-align:center;
color:#999999;
}
a.link , a.hover{color:#333333; font-size:16px;}
a.visited{color:#999999;}
</style>
</head>
<body>
<?php
echo $str;
?>
</body>
</html>
Verifique se você esqueceu de definir alguma variavel, seu código tá completo mesmo ou vocÊ só pos uma parte, vou testar aqui beleza?
mas será que faz diferença?
Quanto ao PHP entre as versões dele faz bastante diferenças, para sempre funcionar em todas versões recomendo o uso sempre de ISSET(); para verificar se a variavel existe, e sempre defini-la no inicio do código mesmo que vazia, tipo: se for string e array antes de qualquer execulção de uma função:
$variavelA = "";//string
$varivelB = Array();

Editado por hipnos na area
Link para o comentário
Compartilhar em outros sites

  • 0

bem, é o seguinte. relativamente ao conselho do hipnos, já tinha feito isso.

modifiquei também os cookies e passei a utilizar o conselho do casiano, mesmo pensando que não seria isso uma vez que o erro não é a conecção em si mas sim o facto de ele não pegar nos valores do form.

ou seja, antigamente o erro era relativo às headers - isso já está resolvido.

agora, coloquei um error_reporting e me dá o erro de undifenied index para as linhas que se seguem, relativamente à senha e ao login.

$login = $_POST['login'];
$senha = $_POST['senha'];

$confirmacao = mysql_query("SELECT * FROM user_empresa WHERE login = '".$_POST['login']."' AND senha ='".$_POST['senha']."'"); //verifica se o login e a senha conferem

o que será?

Link para o comentário
Compartilhar em outros sites

  • 0

Caro lusitano, undifenied index é porque o PHP está te dizendo que o índice do array da super-global não existe, em outras palavras, pro PHP $_POST['login'] e $_POST['senha'] não existem e como você ativou a exibição de tudo, ele está te reportando isso...

Link para o comentário
Compartilhar em outros sites

  • 0

Essera, isso eu entendi perfeitamente, aliás, basta saber ler o inglês.lol

o problema é que sinceramente não estou a entender porque ele não pega o login e a senha do form que o user escreve.

será que o problema é no form?mas tb não me parece pois o form é tão básico...

se puder me ajudar.

Link para o comentário
Compartilhar em outros sites

  • 0

alguma sugestão de como resolver isto?

já agora, gostaria de saber qual a grande diferença entre session e cookies. qual é mais seguro?qual é masi fácil?

obrigados

pedia a vossa compreensão para a grande dificuldade que estou a ter. não pela execução do script em si, mas, como podem ver, pela dificuldade em entender o pk de o php não estar a pegar a info do formulário

Editado por Diogo Freitas
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...