Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom galera Saymon aqui e hoje venho pedir a ajuda de todos para solucionar um problema que estou tendo com o meu sistema de login, bom é o seguinte bom eu tenho essa index:
Quendo o login é mal sucedido vai para está página:
Quendo o login é bem sucedido vai pará está que está cendo executada dentro da action do formulário de login:
o Problema é quando a função "Logar" da action do formulario valida e ve que os dados correspondem com o banco de dados ela redireciona para o Painel.php mas essa página me retorna um erro dizendo que a session do login e senha não existem, ou senha exibe o alert e retorna a pagina index.
scripts login:
Funcação Logar(action form):
<?php
@session_start();
include "../Conexao/config.php";
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario = '$usuario' AND senha ='$senha'");
if(mysql_num_rows($sql) == true){
$_SESSION['usuario-ok'] = $usuario;
$_SESSION['senha-ok'] = $senha;
echo"
<body style='background-color:#131926;'>
<div style='width:400px; heigth:auto; overflow:hidden; background-color:#F2FFEE; border:1px solid #CBFFC6; margin:0 auto; margin-top:16%;'>
<h1 style='font:12px Tahoma; color:#0E7100; text-align:center;'>Logado com Sucesso, Entrando no Sistema...</h1>
<center><img src='../Img/load.gif' width='220' height='19' style='margin:0 0 8px 0;' /></center>
</div>
</body>
<meta http-equiv='refresh' content='3; URL=../Painel.php' />
";
}else{
echo"
<script language='javascript'>location.href='../login-error.php';</script>
";
}
?>
Restrição da página(Painel.php):
<?php
@session_start();
include "Conexao/config.php";
$usuario = $_SESSION['usuario-ok'];
$senha = $_SESSION['senha-ok'];
$sql = mysql_query("SELECT * FROM usuarios WHERE usuario = '$usuario' AND senha = '$senha'");
while($listar = mysql_fetch_array($sql)){}
if(!isset($_SESSION['usuario_ok']) AND !isset($_SESSION['senha_ok'])){
echo"
<script type='text/javascript'>
alert('Usuário Não Identificado!')
</script>
<script language='javaScript'>window.location.href='index.php'</script>
";
}
?>
Imagens que esqueci de postar no Post:
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.uploadeimagem.net/upload/1dd82fb1.png&key=abdf83ceb30347d93069fd493b071b9f6bdbf3b32df91aedfdabdd85996ef593" alt="1dd82fb1.png" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.uploadeimagem.net/upload/45a36ab5.png&key=4811465617ceefebb9b4803aaaa8534f503f2a25a229681e735bef80ff3f28f9" alt="45a36ab5.png" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.uploadeimagem.net/upload/780c8a35.png&key=4355665c02c447c3b6bbbdc465f4fb84239c08c032ce1c12c49cdf042154e421" alt="780c8a35.png" />
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.uploadeimagem.net/upload/7e7ca287.png&key=787069df1e860edbe3f37cfef6a01a598d87ccd5d35f2de0e72c3bc8b008a758" alt="7e7ca287.png" />
Colega, o mysql_num_rows não retorna true ou false... Retorna um dígito.
O mysql_query sim retorna false ou true...
if(mysql_num_rows($sql) >= 1)////achou um registro na pesquisa sql
Jeito certo de usar session
if (!isset($_SESSION)) {
session_start();
}------------------- PROBLEMA RESOLVIDO -------------------
Olá, no meu sistema de login eu também estava com problemas na session, porém o problema era que o sistema não mantinha a sessão...
Não sei se vai ajudar, mas eu fiz o seguinte para resolver o erro:
<?php
//Se não existir a sessão, então cria...
//verifica se existe a sessão
} else {
//se não existir nenhuma sessão vai mandar fazer login
Depois que eu coloquei esse código nunca mais deu nenhum problema.
Se funcionar avise :D