Jump to content


Photo

Problemas Ao Excluir Cookie


  • Faça o login para participar
3 replies to this topic

#1 Marcelo Alves

Marcelo Alves

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

Posted 26/05/2006, 10:30

Estou utilizando um form para login... estou setando cookie para a senha e usuário.... so que quando senha for errada quero que ele excluia o cookie setado ... coloquei o comando para excluir no bloco else mas não consigo...
<?
	$login_prof=$_POST['login_prof'];
	$senha_prof=$_POST['senha_prof'];

	setcookie("loginp" , $login_prof);
	setcookie("senhap",  $senha_prof);

	include "./conectafacul.php";

	mysql_select_db($database);
 	 $seleciona= mysql_query("SELECT senha_prof from professor WHERE senha_prof='".$senha_prof."'",$conecta);
 	 $result= mysql_num_rows($seleciona);

  if ($result==1){
	echo "logado <br/>";
	
  }else{

	echo "login invalido";
	setcookie["loginp",""];
	setcookie["senhap",""];
	
  }
  
?>

Mensagem de erro:
Warning: Cannot modify header information - headers already sent by (output started at c:\pagina\faculdade\loga_professor.php:19) in c:\pagina\faculdade\loga_professor.php on line 20

Warning: Cannot modify header information - headers already sent by (output started at c:\pagina\faculdade\loga_professor.php:19) in c:\pagina\faculdade\loga_professor.php on line 21
:wacko: :wacko: :wacko:

#2 Balala

Balala

    What you want for yourself?

  • Ex-Admins
  • 3357 posts
  • Sexo:Não informado
  • Localidade:Jaraguá do Sul - SC
  • Interesses:http://forum.wmonline.com.br/index.php?showtopic=5792

Posted 26/05/2006, 10:41

1. a função setcookie deve ter os parâmetros por "()", não "[]" =)
2. somente apresente o resultado (echo) após ter modificado os cookies
Balala - Admin Geral Webfórum - Retired
Twitter
Stop Spreading Lies!
Posted Image

#3 Marcelo Alves

Marcelo Alves

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado

Posted 26/05/2006, 10:53

Ja tinha troca do [] por () hehehehhe...meu erro foi nao excluir antes do echo
	setcookie("loginp","");
	setcookie("senhap","");
	echo "login invalido";

Deu certo.. :D Muito obrigado

#4 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 26/05/2006, 11:25

Poderia excluir o cookie mesmo depois de exibir uma saída, para isso você pode criar um buffer de saída e todas as funções que não sejam chamdas ou modificações de cabeçalhos vão ficar armazenadas até que você faça a liberação. No seu caso você conseguiu resolver somente mudando o echo de lugar, mas verá situações que será necessário segurar algumas saídas (quando usar cookies, session, headers, etc ... tudo junto) ... veja essas funções no manual do php: ob_start e ob_end_flush. Funciona assim:

<?
ob_start();
//o buffer foi criado
echo "";
//o texto fica no buffer
header(Location:"");
//manda o cabeçalho
ob_end_flush();
//libera o buffer e imprime o conteudo..
?>

WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq