Jump to content
Fórum Script Brasil
  • 0

Verificar usuário com PDO


blx32

Question

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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...