Jump to content
Fórum Script Brasil
  • 0

Coluna: Login E Senha Não Funciona Alguém Ajuda?


ideiascriativas

Question

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

  • 0

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 28

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 29

line 28 e 29:

setcookie("nome_usuario", $username);

setcookie("senha_usuario", $senha);

Link to comment
Share on other sites

  • 0

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 dados

include "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();

?>

Link to comment
Share on other sites

  • 0

é 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ída

Enquanto 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..

Link to comment
Share on other sites

  • 0

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??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...