Guest - Fernando - Postado Maio 24, 2004 Denunciar Share Postado Maio 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Maio 24, 2004 Denunciar Share Postado Maio 24, 2004 Ops,Faltou logar. Esse aí em cima sou eu, agora logado.Valeu galera,FS Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Maio 24, 2004 Denunciar Share Postado Maio 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.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Maio 25, 2004 Denunciar Share Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Maio 25, 2004 Denunciar Share Postado Maio 25, 2004 Tenta assim:$result = mysql_query($sql,$conexao);Abracos Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Toinho Postado Maio 25, 2004 Denunciar Share Postado Maio 25, 2004 O erro tá aqui ó: if(linhas == 0) O Correto: if($linhas == 0) =) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kevin Postado Maio 25, 2004 Denunciar Share Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fsphp Postado Maio 25, 2004 Denunciar Share Postado Maio 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> Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Maio 25, 2004 Denunciar Share Postado Maio 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 BEOC Postado Maio 25, 2004 Denunciar Share Postado Maio 25, 2004 ele não apagou as linhas, deixou como comentário,entendeu? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rEd nEcK * Postado Maio 25, 2004 Denunciar Share Postado Maio 25, 2004 Com que objetivo? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
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 para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.