Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Session part2


tonzinhu

Pergunta

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

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

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 isso

if(($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...

Link para o comentário
Compartilhar em outros sites

  • 0

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

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...