ideiascriativas Postado Julho 12, 2005 Denunciar Share Postado Julho 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BEOC Postado Julho 12, 2005 Denunciar Share Postado Julho 12, 2005 teste assim: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ideiascriativas Postado Julho 12, 2005 Autor Denunciar Share Postado Julho 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>"; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BEOC Postado Julho 12, 2005 Denunciar Share Postado Julho 12, 2005 testa assim: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ideiascriativas Postado Julho 12, 2005 Autor Denunciar Share Postado Julho 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); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ideiascriativas Postado Julho 13, 2005 Autor Denunciar Share Postado Julho 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();?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 johnle Postado Julho 13, 2005 Denunciar Share Postado Julho 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.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ideiascriativas Postado Julho 15, 2005 Autor Denunciar Share Postado Julho 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 johnle Postado Julho 15, 2005 Denunciar Share Postado Julho 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?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
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.