PDO PHP

Autenticar usuario usando PDO y password_verify()

Autenticar usuario usando PDO y password_verify(). Aprenderemos a incorporar la función password_verify() a la hora de comprobar la contraseña almacenada en MySQL y la contraseña enviada por el usuario a través de un formulario web.

Autenticar usuario usando PDO y password_verify()
Autenticar usuario usando PDO y password_verify()

Login usuario usando PDO y password_verify()

En primer lugar, hay que asegurarse varios puntos:

  1. Las contraseñas deben estar almacenadas y cifradas en la base de datos utilizando la función password_hash().
  2. Almacenar en una variable PHP el input password enviada a través de un formulario.
  3. Disponer de la variable de conexión PDO para realizar consultas SQL.

Nota:
Suponiendo que ya tenemos una instancia de PDO válida en la variable llamada $conexion, mientras que las credenciales del usuario provienen de una solicitud POST o GET. Luego debemos de comprobar la similitud de los datos con la data existente en MySQL.

a) Conexión mediante PDO PHP

En PHP podemos realizar una conexión a una base de datos MySQL de diferentes maneras, tenemos por ejemplo mediante PDO (Objetos de Datos PHP).

//Conexión mediante PDO

$conexion= new PDO('mysql:host=localhost;dbname=my_database', 'my_user', 'my_password');

b) Login de Usuario usando PDO

Una vez que ya tenemos la conexión a MySQL de manera correcta procedemos a realizar la consulta SQL para verificar la contraseña, veamos el ejemplo.

$stmt = $conexion->prepare("SELECT * FROM usuarios WHERE email = ?");
$stmt->execute([$_POST['email']]);
$mi_usuario= $stmt->fetch();

if (password_verify($_POST['password'], $mi_usuario['password']))
{
echo "Acceso validado!";
} else {
echo "Acceso invalido";
}

Conclusión

Los beneficios de usar PDO para  conectarse a MySQL  es que puedes manejar varias configuraciones al realizar consultas a la base de datos. Ademas, de ser mas segura para evitar inyecciones SQL.

Nestor Tapia

Bloggero, amante de la programación PHP, innovador y me fascina compartir información. Desde que conocí el entorno informatico y el internet me llamó la atención la programación, Por tal motivo he creado mi blog BAULPHP.COM para compartir mis experiencias con todos ustedes. ¡Gracias por leerme!.

Un comentario

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba