Bobrinha 4 Denunciar post Postado Maio 27, 2011 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
Guilherme Oderdenge 42 Denunciar post Postado Maio 27, 2011 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
Bobrinha 4 Denunciar post Postado Maio 27, 2011 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