ideiascriativas Posted July 12, 2005 Report Share Posted July 12, 2005 Olá Pessoal, Sou novato no PHP e estou colocando em prática alguns tutorias e verifiquei esse aqui no portal php da script vejam:http://php.scriptbrasil.com/?class=14&id=601&tema=imgs_php.gifSistema de login e senha em php, mas geram os erros nessa parte do código:Warning: Cannot modify header information - headers already sent by (output started at /usr/home/httpd/html/matrix/webmaster/loginPHP/config.php:11) linhas 28, 29 e 31que são essas linhas aqui: { setcookie("nome_usuario", $username); setcookie("senha_usuario", $senha); // direciona para a página inicial dos usuários cadastrados header ("Location: teste.php"); }Alguém se habilita a ajudar?valeu Quote Link to comment Share on other sites More sharing options...
0 BEOC Posted July 12, 2005 Report Share Posted July 12, 2005 teste assim: Quote Link to comment Share on other sites More sharing options...
0 ideiascriativas Posted July 12, 2005 Author Report Share Posted July 12, 2005 Obrigado por ter respondido:Agora gerou o seguinte erro:Parse error: parse error in /usr/home/httpd/html/matrix/webmaster/loginPHP/login.php on line 32linha 32:print "document.location("teste.php")</script>"; Quote Link to comment Share on other sites More sharing options...
0 BEOC Posted July 12, 2005 Report Share Posted July 12, 2005 testa assim: Quote Link to comment Share on other sites More sharing options...
0 ideiascriativas Posted July 12, 2005 Author Report Share Posted July 12, 2005 desculpe a pertubação :-/Gerou estes erros agora:Warning: Cannot modify header information - headers already sent by (output started at /usr/home/httpd/html/matrix/webmaster/loginPHP/config.php:11) in /usr/home/httpd/html/matrix/webmaster/loginPHP/login.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /usr/home/httpd/html/matrix/webmaster/loginPHP/config.php:11) in /usr/home/httpd/html/matrix/webmaster/loginPHP/login.php on line 29line 28 e 29:setcookie("nome_usuario", $username);setcookie("senha_usuario", $senha); Quote Link to comment Share on other sites More sharing options...
0 ideiascriativas Posted July 13, 2005 Author Report Share Posted July 13, 2005 Pessoal, Um amigo me ajudou, estava faltando a parte em negrito no código! eu ainda não sei o que significa ... mas vou pesquisar! :-)Agora esta funcionando OK!pagina: login.php<?ob_start();// obtém os valores digitados$username = $_POST["username"];$senha = $_POST["senha"];// acesso ao banco de dadosinclude "config.php";$resultado = mysql_query("SELECT * FROM usuarios where username='$username'");$linhas = mysql_num_rows ($resultado);if($linhas==0) // testa se a consulta retornou algum registro{ echo "<html><body>"; echo "<p align=\"center\">Usuário não encontrado!</p>"; echo "<p align=\"center\"><a href=\"login.html\">Voltar</a></p>"; echo "</body></html>";}else{ if ($senha != mysql_result($resultado, 0, "senha")) // confere senha { echo "<html><body>"; echo "<p align=\"center\">A senha está incorreta!</p>"; echo "<p align=\"center\"><a href=\"login.html\">Voltar</a></p>"; echo "</body></html>"; } else // usuário e senha corretos. Vamos criar os cookies { setcookie("nome_usuario", $username); setcookie("senha_usuario", $senha); // direciona para a página inicial dos usuários cadastrados header ("Location: teste.php"); }}mysql_close($con);ob_end_flush();?> Quote Link to comment Share on other sites More sharing options...
0 johnle Posted July 13, 2005 Report Share Posted July 13, 2005 é porque acontece o seguinte...pelo que vi você estava imprimindo na página.. e depois estava tentando criar cookies.. e isso não é possível.. pois criação de cookies seria parte de cabeçalho.. e não se pode enviar cabeçalhos depois de imprimir textos na página...a função ob_start -- Ativa o buffer de saídaEnquanto o buffer de saída estiver ativo, não é enviada a saída do script (outros que não sejam cabeçalhos), ao invés a saída é guardada em um buffer interno. depois com função ob_end_flush -- Descarrega (envia) o buffer de saída e desativa o buffer de saída Esta função irá enviar o conteúdo do buffer mais em cima e desativar o buffer de saída.isso quer dizer... você ativa o buffer... e tudo que tiver de saída para o browser será guardado em um buffer interno até que você descarregue ele... podendo assim, definir cabeçalhos.. Quote Link to comment Share on other sites More sharing options...
0 ideiascriativas Posted July 15, 2005 Author Report Share Posted July 15, 2005 Amigo, como seria possivel fazer funcionar sem o a funçãoob_start();ob_end_flush();pode explicar???Segue artigo publicado com erro!!http://php.scriptbrasil.com/?class=14&id=6...ma=imgs_php.gif Quote Link to comment Share on other sites More sharing options...
0 johnle Posted July 15, 2005 Report Share Posted July 15, 2005 pra funcionar sem essas funções... você tem que e enviar todos os cabeçalhos antes de enviar qualquer saída para o browser!!!ou seja... você tem que fazer todos os headers, setcookie... antes de usar qualquer print ou echo.. entende?? Quote Link to comment Share on other sites More sharing options...
Question
ideiascriativas
Olá Pessoal,
Sou novato no PHP e estou colocando em prática alguns tutorias e verifiquei esse aqui no portal php da script vejam:
http://php.scriptbrasil.com/?class=14&id=601&tema=imgs_php.gif
Sistema de login e senha em php, mas geram os erros nessa parte do código:
Warning: Cannot modify header information - headers already sent by (output started at /usr/home/httpd/html/matrix/webmaster/loginPHP/config.php:11)
linhas 28, 29 e 31
que são essas linhas aqui:
{
setcookie("nome_usuario", $username);
setcookie("senha_usuario", $senha);
// direciona para a página inicial dos usuários cadastrados
header ("Location: teste.php");
}
Alguém se habilita a ajudar?
valeu
Link to comment
Share on other sites
8 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.