Ir para conteúdo

POWERED BY:

Arquivado

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

Bobrinha

[Resolvido] Erro estranho em login com session

Recommended Posts

Olá, estou com um problema estranho que não sei o que é e nunca vi isso, bom eu fiz um sistema simples de login com session ou seja faz login gera session só que ao fazer login eu vejo os dados corretos porem ao sair a primeira vez causa um erro e ai aparece no lugar da minha senha certa outra senha que não sei de onde é? porem é a senha do phpmyadmin mais não sei de onde nem por que ela esta aparecendo vejam.

 

Formulario de login

 

<form action="?pg=logar" method="post">

				<table width="100%" border="0" cellpadding="0" cellspacing="1">
                     <tr>
                       <td>Login:</td>
                       <td><div align="left">
                         <input name="login" id="login" type="text" size="9" class="campologin" />
                       </div>                        </td>
                     </tr>
                     <tr>
                       <td>Senha:</td>
                       <td><div align="left">
                         <input name="senha" id="senha" type="password" size="9" class="campologin" />
                       </div></td>
                     </tr>
                     <tr>
                       <td colspan="2"><div align="center">
                         <input type="submit" value="Entrar" class="botaologin" />
                       </div></td>
                     </tr>
                   </table>
				<label for="inputtext1">
				<br />
			  </label><label for="inputtext2"></label>
        <label for="inputtext2"></label>
           <div align="center"><a href="index2.php?pagina=entrar" title="Esqueci a Senha">Esqueci a Senha</a>            </div>
	</form>

 

logar.php

 

<?php
//funcao anti_injection
function protecao($sql)
{
	$sqlnew = preg_replace("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/i","",$sql);
	$sqlnew = trim($sqlnew);
	$sqlnew = strip_tags($sqlnew);
	$sqlnew = str_replace("'","",$sqlnew);
	$sqlnew = addslashes($sqlnew);

	return $sqlnew;
}
//recebendo dados do formulario
$login = protecao($_POST['login']);
$senha = protecao($_POST['senha']);

//verificando campos em branco vindos do formulario
if (empty($login) || empty($senha)){ 
echo("<br><br><br><br><br><br><center>Preencha todos os campos corretamente<br><br>");
echo "Redirecionando...";
echo '<meta http-equiv="refresh" content="3; url=index.php"></center>';
}
//compos do formulario preenchidos continua a busca no banco de dados
else{
//realizando busca no banco de dados
$busca = mysql_query("SELECT user, password FROM phpsp_users WHERE password='$senha' AND user = '$login'");
$resultado = mysql_num_rows($busca);

//Dados corretos registra session
if($resultado>=1)
{

//Criando SESSION			
$_SESSION["login"] = $login;
$_SESSION["senha"] = $senha;
   //login correto pagina apos o login
echo '<meta http-equiv="refresh" content="1; url=index.php"></center>';
} 
//login e senha incorretos mensagem de erro
else{
echo "<br><center>Usuário ou senha Incorretos. Desculpe, Você não tem permissão para acessar esta área.<br><br><br>";
echo "Redirecionando...";
echo '<meta http-equiv="refresh" content="3; url=index.php"></center>';
}}
?>

 

Sair.php

 

<?php 
session_start(); 
session_destroy();

header("Location: index.php"); 
?>

 

pagina onde vejo as senhas e onde tem o botão de sair

 

index

 

<?php
session_start();
$login = $_SESSION['login'];
$senha = $_SESSION['senha'];


echo $login;
echo $senha;
?>

<a href="?pg=sair">Sair</a>

 

Ao clicar no botão sair da o seguinte erro como mostra abaixo e ai aparece a senha loca que não sei de onde vem, ai se clicar de novo em sair desloga porem o erro permanece

 

Warning: Cannot modify header information - headers already sent by (output started at E:\AppServ\www\roncadorfm\site\home\index.php:7) in E:\AppServ\www\roncadorfm\site\home\estrutura\sair.php on line 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá.

 

Tente colocar um ob_start depois do <?php na página de sair. Exemplo:

 

<?php
ob_start();
sesssion_start();
session_destroy();

header("Location: index.php");
?>

 

E veja se funciona.

Mais informações sobre a função ob_start()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, obrigado por tentar ajudar mais não era isso não, na verdade me serviu de lição espero que sirva a outros que venha a ter o mesmo problema, o problema era que eu tinha colocado a varia $senha também na conexão com o banco de dados por isso ao sair mostra a senha do phpmyadmin

 

Bom é claro que não se deve colocar variaveis iguais mais como tive falta de atenção e vi um erro desconhecido pode acontecer com outros mais tudo certo abraço

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.