Guest - Fernando - Posted May 24, 2004 Report Share Posted May 24, 2004 Pessoal,Quem pode me ajudar? Estou tentando fazer um sistema de login/senha com sessões, mas está difícil. Quando entro com o login e a senha, vem a mensagem de usuário não encointrado. Só que eu acesso o banco de dados e a senha e o login estão lá.O que pode estar errado. Coloco abaixo o código da página de login.Valeu galera,FS<?// acesso ao banco de dadosinclude "conecta_mysql.php";$sql = mysql_query("SELECT * FROM cadastro where login='$login' and senha='$senha'");$linhas = mysql_num_rows($sql);if(linhas == 0) // testa se a consulta retornou algum registro{ echo "<html><body>"; echo "<p align=\"center\">Usuário não encontrado!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! (login.html ) echo "</body></html>";}else { if ($senha != mysql_result($sql, 0 , "senha")) // confere a senha { echo "<html><body>"; echo "<p align=\"center\">A senha está incorreta!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! (login.html ) echo "</body></html>"; } else // usuário e senhas corretos. Vamos criar os cookies { session_start(); $_SESSION["login2"] = $login; $_SESSION["senha2"] = $senha; // direciona para a página inicial dos usuários cadastrados header ("Location: frame_principal_novo_interno.php"); // header ("Location: teste.php"); }}?> <html><head><title>Login cadastro</title></head><body><? echo "Utilizando session"; ?></body></html> Quote Link to comment Share on other sites More sharing options...
0 fsphp Posted May 24, 2004 Report Share Posted May 24, 2004 Ops,Faltou logar. Esse aí em cima sou eu, agora logado.Valeu galera,FS Quote Link to comment Share on other sites More sharing options...
0 rEd nEcK * Posted May 24, 2004 Report Share Posted May 24, 2004 Aparentemente achei 3 erros:session_start(); $_SESSION["login2"] = $login; $_SESSION["senha2"] = $senha; O comando session_start() tem que ficar EM CIMA DE TUDO NA PAGINA ! Outro: header ("Location: frame_principal_novo_interno.php"); // header ("Location: teste.php"); Voce esta usando "//" isso seria para botar comentarios no php ! então a pagina não esta lendo essa linha ! E o outro é que acho que voce esqueceu de por uma linha na conexao da mysql ! $sql = mysql_query("SELECT * FROM cadastro where login='$login' and senha='$senha'"); $result = mysql_query($sql); $num_rows = mysql_num_rows($result);É isso abracos.. Quote Link to comment Share on other sites More sharing options...
0 fsphp Posted May 25, 2004 Report Share Posted May 25, 2004 coloquei assim:<? session_start(); $_SESSION["login2"] = $login; $_SESSION["senha2"] = $senha;?> <html><head><title>Login cadastro</title></head><body><? // acesso ao banco de dadosinclude "conecta_mysql.php";$sql = mysql_query("SELECT * FROM cadastro where login=$login' and senha='$senha'");$result = mysql_query($sql);$linhas = mysql_num_rows($result);if(linhas == 0) // testa se a consulta retornou algum registro{ echo "<html><body>"; echo "<p align=\"center\">Usuário não encontrado!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! ( o autor colocou login.html ) echo "</body></html>";}else { if ($senha != mysql_result($sql, 0 , "senha")) // confere a senha { echo "<html><body>"; echo "<p align=\"center\">A senha está incorreta!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! ( o autor colocou login.html ) echo "</body></html>"; } else // usuário e senhas corretos. Vamos criar os cookies { session_start(); $_SESSION["login2] = $login; $_SESSION["senha2"] = $senha; // direciona para a página inicial dos usuários cadastrados header ("Location: frame_principal_novo_interno.php"); // header ("Location: teste.php"); }}?> </body></html>E deu o seguinte erro:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/muralcultural/www/hospedagem/michi_dojo/login_cadastro_session.php on line 18E aí, o que fiz de errado?Valeu a força!!!!!!Abraço,FS Quote Link to comment Share on other sites More sharing options...
0 rEd nEcK * Posted May 25, 2004 Report Share Posted May 25, 2004 Tenta assim:$result = mysql_query($sql,$conexao);Abracos Quote Link to comment Share on other sites More sharing options...
0 Toinho Posted May 25, 2004 Report Share Posted May 25, 2004 O erro tá aqui ó: if(linhas == 0) O Correto: if($linhas == 0) =) Quote Link to comment Share on other sites More sharing options...
0 Kevin Posted May 25, 2004 Report Share Posted May 25, 2004 O erro tá aqui ó: if(linhas == 0) O Correto: if($linhas == 0) =) é isso ae mesmo q o Toinho falo mesmo testa ae e depois posta ae se deu algo errado Quote Link to comment Share on other sites More sharing options...
0 fsphp Posted May 25, 2004 Report Share Posted May 25, 2004 VALEU GALERA!!!!!!! Agora deu certo. 1-) Coloquei o comando session_start no início (chegou a dar um erro pois deixei o "header ("Location...)" lá em baixo, depois coloquei tudo junto e funcionou).2-) As barras duplas de comentários eu estava utilizando para direcionar para duas páginas distintas (ou uma ou outra), uma delas, a página interna do meu site, para ver se chegava lá. Nesta funcionou. Agora vou direcionar para a outra página para ver se estão sendo registrados as variáveis de sessão.Aonde estou colocando as barras duplas é para fazer testes com os scripts, ou seja, com barra dupla não fica ativo, se o script que está ativo não funcionar, eu escondo ele com as barras e utilizo outro, assim tenho um controle do que já testei. Deu para entender? 3-) A linha de conexão que aparentemente faltava estava com a variável "$sql = mysql_query(........" Fiz isso pois me falaram para não utilizar $result nesse ponto pois pode ser confundido com resultado em outro ponto de script em outros documentos.4-) Realmente estava faltando eu colocar o símbolo de variável "$" no script de verificação de linha.Coloco abaixo o script que funcionou. Abraços pra galera que dá a maior força na net!!!!!!!!FS<? session_start(); $_SESSION["login2"] = $login; $_SESSION["senha2"] = $senha; header ("Location: frame_principal_novo_interno.php");?> <html><head><title>Login cadastro</title></head><body><? // acesso ao banco de dadosinclude "conecta_mysql.php";$sql = mysql_query("SELECT * FROM cadastro where login=$login' and senha='$senha'");// $result = mysql_query($sql);// $result = mysql_query($sql, $con);$linhas = mysql_num_rows($sql);if($linhas == 0) // testa se a consulta retornou algum registro{ echo "<html><body>"; echo "<p align=\"center\">Usuário não encontrado!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! ( o autor colocou login.html ) echo "</body></html>";}else { if ($senha != mysql_result($sql, 0 , "senha")) // confere a senha { echo "<html><body>"; echo "<p align=\"center\">A senha está incorreta!</p>"; echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! ( o autor colocou login.html ) echo "</body></html>"; } else // usuário e senhas corretos. Vamos criar os cookies { //session_start(); //$_SESSION["login2] = $login; //$_SESSION["senha2"] = $senha; // direciona para a página inicial dos usuários cadastrados //header ("Location: frame_principal_novo_interno.php"); // header ("Location: teste.php"); }}?> </body></html> Quote Link to comment Share on other sites More sharing options...
0 rEd nEcK * Posted May 25, 2004 Report Share Posted May 25, 2004 Hm parabens..So que ainda esta uma coisa errado.. header ("Location: frame_principal_novo_interno.php"); com isso voce pois para se abrir o site redirecionar, era isso mesmo que voce queria? Outra: // $result = mysql_query($sql); // $result = mysql_query($sql, $con); Essas linhas não estao sendo lidas ! Se voce usa isso: // ou /* */ O php interpreta como comentario, ou seja não le o que esta escrito ali ! Outra: //session_start(); //$_SESSION["login2"] = $login; //$_SESSION["senha2"] = $senha; // direciona para a página inicial dos usuários cadastrados //header ("Location: frame_principal_novo_interno.php"); // header ("Location: teste.php"); Putz aqui tem 2 erros cara ! voce não precisa por outro session_start() a sessao foi iniciada no topo da pagina ! e o php não leu nenhum desses comentarios ! ou seja se quiser que o php leia escreva sem os: //É isso abracos Quote Link to comment Share on other sites More sharing options...
0 BEOC Posted May 25, 2004 Report Share Posted May 25, 2004 ele não apagou as linhas, deixou como comentário,entendeu? Quote Link to comment Share on other sites More sharing options...
0 rEd nEcK * Posted May 25, 2004 Report Share Posted May 25, 2004 Com que objetivo? Quote Link to comment Share on other sites More sharing options...
Question
Guest - Fernando -
Pessoal,
Quem pode me ajudar? Estou tentando fazer um sistema de login/senha com sessões, mas está difícil.
Quando entro com o login e a senha, vem a mensagem de usuário não encointrado. Só que eu acesso o banco de dados e a senha e o login estão lá.
O que pode estar errado. Coloco abaixo o código da página de login.
Valeu galera,
FS
<?
// acesso ao banco de dados
include "conecta_mysql.php";
$sql = mysql_query("SELECT * FROM cadastro where login='$login' and senha='$senha'");
$linhas = mysql_num_rows($sql);
if(linhas == 0) // testa se a consulta retornou algum registro
{
echo "<html><body>";
echo "<p align=\"center\">Usuário não encontrado!</p>";
echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! (login.html )
echo "</body></html>";
}
else {
if ($senha != mysql_result($sql, 0 , "senha")) // confere a senha
{
echo "<html><body>";
echo "<p align=\"center\">A senha está incorreta!</p>";
echo "<p align=\"center\"><a href=\"frame_principal_novo_session.php\">Voltar</a></p>";// ############### VERIFICAR O URL!!!!!! (login.html )
echo "</body></html>";
}
else // usuário e senhas corretos. Vamos criar os cookies
{
session_start();
$_SESSION["login2"] = $login;
$_SESSION["senha2"] = $senha;
// direciona para a página inicial dos usuários cadastrados
header ("Location: frame_principal_novo_interno.php");
// header ("Location: teste.php");
}
}
?>
<html>
<head>
<title>Login cadastro</title>
</head>
<body>
<?
echo "Utilizando session";
?>
</body>
</html>
Link to comment
Share on other sites
10 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.