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

Headers already sent


Diego A.

Pergunta

Eu estou tentando fazer um sistema de cadastro e login, mas estou com o seguinte problema:

na página de login (login.php) eu insiro os dados e quando vou enviar

ao invés de ir para a página login_vai.php ele dá o seguinte erro...:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\arquivos de programas\easyphp1-8\www\site\tcc\conexao.php:84) in c:\arquivos de programas\easyphp1-8\www\site\tcc\login_vai.php on line 3

o codigo do login_vai.php está abaixo:

<?php

require "conexao.php";

session_start();

$login= isset($_post["login"])? addslashes(trin($_POST["login"])): FALSE;

$senha= isset($_POST["senha"])? md5(trim($_POST["senha"])): FALSE;

if (!$login || !$senha){

echo "Você deve digitar sua senha e login!";

exit;}

$SQL = "SELECT id, nome, login,senha

FROM cliente

WHERE login= '" . $login . "'";

$result_id= @mysql_query($SQL)or die("Erro no banco de dados!");

$total = @mysql_num_rows($result_id);

if($total){

$dados= @mysql_fetch_array($result_id);

if(!strcmp($senha, $dados["senha"])) {

$_SESSION["id_usuario"] = $dados["id"];

$_SESSION["nome_usuario"] = stripslashes($dados["nome"]);

header("Location:index.php");

exit;}

else {

echo "Senha Inválida";

exit;}}

else {

echo "O login fornecido por você é inexistente";

exit;

}

?>

me ajudem, por favooorrr :(

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

você provavelmente usou um bloco de notas pra fazer isto, este erro aconteçe geralmente quando os scripts html começam antes do php, ou quando tem um caracter invisivel que você não pode ver, no teu caso é este caracter, logo na primeira linha da sua página, que define o tipo de linguagem do arquivo.

Solução:

Abra sua página usando o editor da sua host e remova este caracter, eu não sei como fazer em outro método... ;)

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

  • 0

Tenta simplesmente inverter:

require "conexao.php";

session_start();

Para

session_start();

require "conexao.php";

O conexao.php tem alguma saida para o navegador (html, echo..)

Em última hipótese use o ob_start() e ob_end_flush() para tentar contornar o problema do cabeçalho

Link para o comentário
Compartilhar em outros sites

  • 0

Porque o session_start() é meio sentimental... se ele não é a primeira coisa a aparecer no script a coisa tende a desandar, inclusive isso já é bom para você sempre se acostumar a chamar o session_start() em primeiro lugar...

Link para o comentário
Compartilhar em outros sites

  • 0

hwhahwha...sentimental, essa vou lembrar sempre que usar as sessions... :lol:

o script que postei é o conteudo total..não tem linha em branco, mas valeu a dica.

Bem...problema resolvido, surgiram un's novos...vou tentar resolver, se não conseguir eu peço ajuda de novo..valeeeewww.. ;)

Link para o comentário
Compartilhar em outros sites

  • 0

É gente...ainda to com problemas nesse login.. <_<

o novo problema é o seguinte...eu preencho o nome e senha com os

dados cadastrados no banco, mas ao invés de cair na pagina correta ele

mostra a informação "Você deve digitar sua senha e login!"

...como se não tivesse preenchido nada...

já revisei e não sei onde eu errei...

por favor, me ajudem.... :)

Link para o comentário
Compartilhar em outros sites

  • 0

O único problema do seu script que eu achei foi nessa parte:

$login= isset($_post["login"])? addslashes(trin($_POST["login"])): FALSE;

trin não existe... o correto é trim... e $_post também é errado... o correto é $_POST

$login= isset($_POST["login"])? addslashes(trim($_POST["login"])): FALSE;

Link para o comentário
Compartilhar em outros sites

  • 0

Não é o POST que tem que ser caixa alta.... é que variáveis são case sensitive... ou seja, $A e $a para o PHP são coisas diferentes, logo $_POST é a superglobal e $_post é uma coisa qualquer que você criou...

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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...