tonzinhu Postado Janeiro 17, 2008 Denunciar Share Postado Janeiro 17, 2008 iae galera beleza,Assim, montei o sistema de login tudo ta funcionando, só q tem um detalhe.Ex:Eu tenho usuario : fulano e senha :123 no banco de dados.Se eu coloco no form na hora de logar fulano e senha 45345, ele não loga e vai novamente pra pag. de erro. Ate ai tudo certo.mas se eu colocar alguém que não estiver cadastrado no banco e vai parar na pag de logar.php , que no caso é pagina de verificação dos dados.Ou sejam preciso só saber com fazer uma condição pra se ele não encontrar o user no banco ele direcionar pra pagina de erro.html.Aqui o script <?php $usuario = $_POST['user']; $senha = $_POST['pass']; mysql_connect("localhost","root",""); mysql_select_db("webart"); $conn = mysql_query("SELECT * FROM clientes WHERE usuario='$usuario'"); while($reg = mysql_fetch_array($conn)){ if($reg['usuario'] = $usuario && $reg['senha'] == $senha){ session_start(); $_SESSION['usuario'] = $_POST['user']; $_SESSION['senha'] = $_POST['pass']; $_SESSION['id'] = $reg['id']; header('location: index.php?id='.$reg['id']); } else{ header("Location: erro_login.html"); } } ?>Vlw galera Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Janeiro 17, 2008 Denunciar Share Postado Janeiro 17, 2008 Em primeiro lugar, pra que você está usando o while? Suponho que não existam vários usuários no banco com o mesmo nome, logo while é inútil ai...O que você pode fazer é trocar isso:if($reg['usuario'] = $usuario && $reg['senha'] == $senha){Por issoif(($reg['usuario'] = $usuario && $reg['senha'] == $senha) AND (mysql_num_rows($conn) == '1')){Isso vai verificar se a consulta retornou 1 resultado, se for apenas 1 beleza, caso contrário, vai para a página de erro... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tonzinhu Postado Janeiro 17, 2008 Autor Denunciar Share Postado Janeiro 17, 2008 Mudei o script e deu certo agora.<?php $login = $_POST["user"]; $senha = $_POST["pass"]; $cn = mysql_connect("localhost", "root", ""); mysql_select_db("webart"); $resultado = mysql_query("select * from clientes where usuario = '$login'"); $linhas = mysql_num_rows($resultado); if ($linhas ==0) { header("location: erro_login.html"); } else { if ($senha != mysql_result($resultado, 0, "senha")) { header("location: erro_login.html"); }else{ session_start(); $_SESSION['usuario'] = $_POST['user']; $_SESSION['senha'] = $_POST['pass']; header("Location: index.php"); } } ?>vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tonzinhu
iae galera beleza,
Assim, montei o sistema de login tudo ta funcionando, só q tem um detalhe.
Ex:
Eu tenho usuario : fulano e senha :123 no banco de dados.
Se eu coloco no form na hora de logar fulano e senha 45345, ele não loga e vai novamente pra pag. de erro. Ate ai tudo certo.
mas se eu colocar alguém que não estiver cadastrado no banco e vai parar na pag de logar.php , que no caso é pagina de verificação dos dados.
Ou sejam preciso só saber com fazer uma condição pra se ele não encontrar o user no banco ele direcionar pra pagina de erro.html.
Aqui o script
Vlw galera
Link para o comentário
Compartilhar em outros sites
2 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.