Login en PHP y MSQL

Login en PHP con base de datos MYSQL

Este tutorial es la continuación del de cómo hacer un login en PHP, así que antes de comenzar con este les recomiendo darle un vistazo.
En el tutorial mencionado anteriormente hicimos un login en PHP y Bootstrap sin usar una base de datos, en este vamos a introducirla para poder realizar la validación correcta de un usuario ya registrado.

Agregando login en PHP con base de datos MYSQL

Para realizar esto vamos a tener que modificar el archivo login.php que habíamos hecho en el tutorial anterior:

<?php
  session_start();
  
  // Obtengo los datos cargados en el formulario de login.
  $email = $_POST['email'];
  $password = $_POST['password'];
  
  // Datos para conectar a la base de datos.
  $nombreServidor = "localhost";
  $nombreUsuario = "root";
  $passwordBaseDeDatos = "";
  $nombreBaseDeDatos = "prueba";
 
  // Crear conexión con la base de datos.
  $conn = new mysqli($nombreServidor, $nombreUsuario, $passwordBaseDeDatos, $nombreBaseDeDatos);
  
  // Validar la conexión de base de datos.
  if ($conn ->connect_error) {
    die("Connection failed: " . $conn ->connect_error);
  }
  
  // Consulta segura para evitar inyecciones SQL.
  $sql = sprintf("SELECT * FROM usuarios WHERE email='%s' AND password = %s", mysql_real_escape_string($email), mysql_real_escape_string($password));
  $resultado = $conn->query($sql);
  
  // Verificando si el usuario existe en la base de datos.
  if($resultado){
	// Guardo en la sesión el email del usuario.
	$_SESSION['email'] = $email;
	
	// Redirecciono al usuario a la página principal del sitio.
	header("HTTP/1.1 302 Moved Temporarily"); 
    header("Location: principal.php"); 
  }else{
	echo 'El email o password es incorrecto, <a href="index.html">vuelva a intenarlo</a>.<br/>';
  }

?>

Aparte de agregar el código necesario para conectar a la base de datos y obtener el usuario con su email y password debemos prestar atención a la linea:

if($resultado){

Es donde se chequea si el usuario consultado en la base de datos existe o no.

Bueno espero que se haya entendido y ante cualquier problema no duden en dejar un comentario.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

2 comments

  1. Amigo muchisisisimas gracias por el código me sirve mucho, en la línea 23 hay un error:
    es uno típico de comillas pero bueno así lo tienes email=’%s’ AND password = %s”,
    y así es WHERE email=’%s’ AND password = ‘%s'”, GRACIAS!!!

Deja un comentario

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