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

Verificar usuário com PDO


blx32

Pergunta

Olá, eu estava usando algo assim:

------------------------------------------------config.php-------------------
$host_name = "localhost";
$database = "usuarios"; // Change your database nae
$username = "root";          // Your database user id 
$password = "test";          // Your password

//////// Do not Edit below /////////
try {
$dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password);
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}

--------------------------------------------------inc.login.php-------------------

session_start();
include ("config.php");

$usuario = $_POST['usuario'];
$senha = $_POST['senha'];

if (!empty($usuario) AND !empty($senha)) {

    echo "Por favor, todos campos devem ser preenchidos! <br /><br />";
    echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL= ..\">";

}

 else {


    $senha = md5($senha);

    /** @noinspection PhpDeprecationInspection */
    $sql = mysql_query("SELECT * FROM usuarios WHERE usuario='{$usuario}' AND senha='{$senha}' AND ativado='1'");
    $login_check = mysql_num_rows($sql);

    if ($login_check > 0) {

        /** @noinspection PhpDeprecationInspection */
        while ($row = mysql_fetch_array($sql)) {

            foreach ($row AS $key => $val) {

                $$key = stripslashes($val);

            }

            $_SESSION['usuario_id'] = $usuario_id;
            $_SESSION['nome'] = $nome;
            $_SESSION['sobrenome'] = $sobrenome;
            $_SESSION['email'] = $email;
            $_SESSION['nivel_usuario'] = $nivel_usuario;
            $_SESSION['img_profile'] = $img;
            $_SESSION['user'] = $usuario;

            /** @noinspection PhpDeprecationInspection */
            mysql_query("UPDATE usuarios SET data_ultimo_login = now() WHERE usuario_id ='{$usuario_id}'");


            header("Location:../pagina/home.php");
            //echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0; URL= ../dash.php">";


        }

    } else {
        header("Location:../");
    }
}

Encontrei alguns poucos exemplos na internet, e preciso verificar se o usuário esta ativado.

INSERT INTO `usuarios` VALUES ('1', 'Nome', 'Sobrenome', 'email@email.com', 'user', '8e4441f86ad(senha)09db96e5459', 'Auto Autenticado', '(classe)', '2015-09-19 (data-cadastro)17:33:38', '2016-03-02(data-ultimologin)12:30:30', '(ativado=1)', 'assets/logos/iimg.png');

No caso as sessões já estou mais safo, mas esse PDO está me matando.

Como ficaria? Desde já muito obrigado

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Bom, pra começar a lógica do seu if está falha:

if (!empty($usuario) AND !empty($senha)) {

Com o if desse jeito, se você digitar o usuário e a senha ele vai entrar na condição e vai dar o refesh. O certo seria:

if (empty($usuario) || empty($senha)) {

 

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...