Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Leonardo Diego

[Resolvido] Erro no PHP

Recommended Posts

estou com problemas no meu código php!

quando o usuario loga para acessar o painel, aparece esse erro:

 

Warning: Cannot modify header information - headers already sent by (output started at /home/karudolanches/www/includes/entrar.php:2) in /home/karudolanches/www/includes/entrar.php on line 37

Warning: Cannot modify header information - headers already sent by (output started at /home/karudolanches/www/includes/entrar.php:2) in /home/karudolanches/www/includes/entrar.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /home/karudolanches/www/includes/entrar.php:2) in /home/karudolanches/www/includes/entrar.php on line 39

 

não sei o que está acontecendo, ja fiz de tudo, e não da certo :S

 

linha 2: <?php include_once("../config/conexao.php");

linha 37: setcookie("nome", $nome, 0);

linha 38: setcookie("senha", $pass, 0);

linha 39: setcookie("id", $id, 0);

 

por favor me ajudem! (:

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que existe nesse arquivo "../config/conexao.php"?

 

<?php


 # Definindo as variaveis
 $servidor = '***';
 $usuario = '***';
 $senha = '***';
 $banco = '***';

 # Conectando, escolhendo o banco de dados
  $link = mysql_connect($servidor, $usuario, $senha)
      or die('Não foi possivel conectar: ' . mysql_error());
  mysql_select_db($banco) or die('Não pude selecionar o banco de dados');
class SistemaLogin { // Defino a classe principal do sistema

function antisql($sql) { // Função Anti-SQL
	$sql = get_magic_quotes_gpc() == 0 ? addslashes($sql) : $sql;
	$sql = trim($sql);
	$sql = strip_tags($sql);
	$sql = mysql_escape_string($sql);
	return preg_replace("@(--|\#|\*|;|=)@s", '', $sql);
}
}
$class = new SistemaLogin; // Defino a var $class como a var que irá chamar a classe no PHP
$tabela = "users"; // Tabela do BD
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

entrar.php

<div id="account"><?php if(isset($_POST["logar"])) { // Verifico se o botão de login foi acionado

						if(!empty($_POST["login"]) && !empty($_POST["senha"])) { // Verifico se os campos foram preenchidos

							$login = $class->antisql($_POST["login"]); // Filtro os dados de login name originados do formulário
							$senha = $class->antisql($_POST["senha"]); // Filtro a senha originada do formulário

							$senha_sha1 = sha1($senha); // Codifico a senha inserida para consulta ao SQL

							$valida_user = mysql_query("SELECT * FROM $tabela WHERE usuario='$login' AND senha='$senha_sha1'") or die(mysql_error()); // Faço a consulta ao SQL para buscar o usuário com os dados informados pelo form

							if(mysql_num_rows($valida_user) > 0) { // Verifico se a consulta retorna alguma linha

								$lembrar = $_POST["lembrar"]; // Pego o valor do checkbox 'Lembrar' do formulário
								$info = mysql_fetch_array($valida_user); // Defino a var responsável por trazer as informações do BD

								$nome = $info["nome"]; // Recupero o campo nome do BD
								$pass = $info["senha"]; // Recupero o campo senha do BD
								$id_generico = $info["id"]; // Recupero o campo id do BD

								$id = base64_encode($id_generico); // Codifico o id para obter mais segurança

								if($lembrar == "1") { // Se o checkbox foi marcado, gravo cookies de 1 ano

									// Gravo os cookies responsáveis pelo login
									setcookie("nome", $nome, time()+31536000); // setcookie(nome_cookie, valor_cookie, tempo_expiracao)
									setcookie("senha", $pass, time()+31536000); // Nesses casos, usei o tempo como anual
									setcookie("id", $id, time()+31536000); // Assim: time()[agora]+[mais]3153600[60*60*24*365]{segs.*min.= 1 hora em segs => 1 hr em segs * 24 hrs = 1 dia => 1 dia * 365 dias = 1 ano}

								}
								else { // Caso contrário, gravo cookies que expirarão assim q o browser fechar

									// Gravo os cookies responsáveis pelo login
									setcookie("nome", $nome, 0); // Aqui os cookies expiram assim q o browser fechar
									setcookie("senha", $pass, 0);
									setcookie("id", $id, 0);
								}									
								// Redireciono para a página restrita
								ob_start();
								echo "logado";
								exit();
								ob_flush();
							}
							else { // Se não retornar, define mensagem de erro

								$mensagem_erro = "<div class=\"alerta\">usuário não encontrado!</div>";
							}
						}
						else { // Caso tenha algum campo em branco, define mensagem de erro

							$mensagem_erro = "<div class=\"alerta\">Por favor, preencha os campos corretamente!</div>";
						}
					}
?><?php ob_start();if(isset($mensagem_erro)){echo $mensagem_erro;}?>
               <form method="post" action="<?php $PHP_SELF; ?>">
                   <label>
                         <input type="text" name="login" value="nome de usuário" onfocus="limparPadrao(this);" onblur="escreverPadrao(this);" />
                   </label>

                   <label>
                         <input type="password" name="senha" value="senha" onfocus="limparPadrao(this);" onblur="escreverPadrao(this);" />
                   </label>
                   <label>
                         <input type="checkbox" name="lembrar" id="lembrar" /><span id="teste">Lembrar?</span>
                         <span id="esqueceu"><a href="#">esqueceu sua senha?</a></span>
                   </label>
                   <label>
                         <input type="submit" name="logar" value="Logar" id="btnl" />
                  </label>
               </form>
</div><!--account-->

 

conexao.php

<?php
 ##---------------------------------------------------
 ##  Conexão ao banco de dados MySQL usando PHP
 ##---------------------------------------------------
 # Mais detalhes sobre o PHP e MySQL:
 #   http://br.php.net/mysql
 #
 # Mais detalhes sobre MySQL:
 #   http://www.mysql.com/
 ##---------------------------------------------------

 ## OBSERVAÇÃO: Não esqueça de colocar a senha para conexão.

 # Definindo as variaveis
 $servidor = '--';
 $usuario = '--';
 $senha = '--';
 $banco = '--';

 # Conectando, escolhendo o banco de dados
  $link = mysql_connect($servidor, $usuario, $senha)
      or die('Não foi possivel conectar: ' . mysql_error());
  mysql_select_db($banco) or die('Não pude selecionar o banco de dados');
class SistemaLogin { // Defino a classe principal do sistema

function antisql($sql) { // Função Anti-SQL
	$sql = get_magic_quotes_gpc() == 0 ? addslashes($sql) : $sql;
	$sql = trim($sql);
	$sql = strip_tags($sql);
	$sql = mysql_escape_string($sql);
	return preg_replace("@(--|\#|\*|;|=)@s", '', $sql);
}
}
$class = new SistemaLogin; // Defino a var $class como a var que irá chamar a classe no PHP
$tabela = "users"; // Tabela do BD
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, sao os cookies, pq ao invez de usar cookies, nao usa sessao? da muito menos trabalho, alem disso você pode colocar dados na sessao tb, a sessao gera cookies do lado do cliente e do laco do servidor, da pra alterar o tempo da sessao tb, e outra, o cara vai ficar logado durante 1 ano? eh isso mesmo...? nao eh boa pratica...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, sao os cookies, pq ao invez de usar cookies, nao usa sessao? da muito menos trabalho, alem disso você pode colocar dados na sessao tb, a sessao gera cookies do lado do cliente e do laco do servidor, da pra alterar o tempo da sessao tb, e outra, o cara vai ficar logado durante 1 ano? eh isso mesmo...? nao eh boa pratica...

 

ok, obrigado :). vou fazer com sessoes ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.