Paso 1:Configuración de la base de datos
1. Abra su base de datos MySQL y cree una nueva base de datos para su sistema de inicio de sesión y registro.
2. Cree una tabla llamada "usuarios" con las siguientes columnas:
```sql
id INT NO NULA CLAVE PRIMARIA AUTO_INCREMENT,
nombre de usuario VARCHAR(255) NO NULO ÚNICO,
contraseña VARCHAR(255) NO NULA,
correo electrónico VARCHAR(255) NO NULO ÚNICO
```
Paso 2:Crear el formulario de registro
1. Cree un nuevo archivo PHP llamado "register.php".
2. Agregue el siguiente código HTML para crear un formulario de registro:
```html
Formulario de registro
```
3. Agregue el siguiente código PHP para manejar el envío del formulario e insertar al usuario en la base de datos:
```php
inicio_sesión();
// Conectarse a la base de datos
$nombredelservidor ="localhost";
$nombre de usuario ="raíz";
$contraseña ="";
$dbname ="login_system";
// crear conexión
$conn =mysqli_connect($nombre de servidor, $nombre de usuario, $contraseña, $nombre de base de datos);
// Comprobar conexión
si (!$conexión) {
die("La conexión falló:" . mysqli_connect_error());
}
//Obtener los datos del formulario
$nombre de usuario =mysqli_real_escape_string($conn, $_POST['nombre de usuario']);
$contraseña =mysqli_real_escape_string($conn, $_POST['contraseña']);
$correo electrónico =mysqli_real_escape_string($conn, $_POST['correo electrónico']);
// hash de la contraseña
$hashed_password =contraseña_hash($contraseña, PASSWORD_DEFAULT);
//Insertar el usuario en la base de datos
$sql ="INSERTAR EN usuarios (nombre de usuario, contraseña, correo electrónico) VALORES ('$nombre de usuario', '$contraseña_hashed', '$correo electrónico')";
si (mysqli_query($conexión, $sql)) {
$_SESSION['success'] ="¡Registro exitoso!";
encabezado("Ubicación:login.php");
} demás {
$_SESSION['error'] ="¡Error en el registro!";
encabezado("Ubicación:registrarse.php");
}
?>
```
Paso 3:crear el formulario de inicio de sesión
1. Cree un nuevo archivo PHP llamado "login.php".
2. Agregue el siguiente código HTML para crear un formulario de inicio de sesión:
```html
si (isset($_SESSION['éxito'])) {
echo " " . $_SESSION['éxito'] . "
}
si (isset($_SESSION['error'])) {
echo " " . $_SESSION['error'] . "
}
?>
Formulario de inicio de sesión
```
3. Agregue el siguiente código PHP para manejar el envío del formulario y autenticar al usuario:
```php
inicio_sesión();
// Conectarse a la base de datos
$nombredelservidor ="localhost";
$nombre de usuario ="raíz";
$contraseña ="";
$dbname ="login_system";
// crear conexión
$conn =mysqli_connect($nombre de servidor, $nombre de usuario, $contraseña, $nombre de base de datos);
// Comprobar conexión
si (!$conexión) {
die("La conexión falló:" . mysqli_connect_error());
}
//Obtener los datos del formulario
$nombre de usuario =mysqli_real_escape_string($conn, $_POST['nombre de usuario']);
$contraseña =mysqli_real_escape_string($conn, $_POST['contraseña']);
//Seleccionamos el usuario de la base de datos
$sql ="SELECCIONAR * DE usuarios DONDE nombre de usuario='$nombre de usuario'";
$resultado =mysqli_query($conexión, $sql);
// Comprobar si el usuario existe
si (mysqli_num_rows($resultado)> 0) {
//Verifica la contraseña
$usuario =mysqli_fetch_assoc($resultado);
if (contraseña_verify($contraseña, $usuario['contraseña'])) {
$_SESSION['success'] ="¡Inicio de sesión exitoso!";
encabezado("Ubicación:home.php");
} demás {
$_SESSION['error'] ="¡Contraseña no válida!";
encabezado("Ubicación:login.php");
}
} demás {
$_SESSION['error'] ="¡Usuario no encontrado!";
encabezado("Ubicación:login.php");
}
?>
```
Paso 4:crear una página de inicio
Cree un nuevo archivo PHP llamado "home.php" y agregue el siguiente contenido:
```html
inicio_sesión();
si (isset($_SESSION['éxito'])) {
echo " " . $_SESSION['éxito'] . "
}
si (isset($_SESSION['error'])) {
echo " " . $_SESSION['error'] . "
}
// Destruye la sesión
sesión_unset();
sesión_destroy();
?>
¡Bienvenido a la página de inicio!
```
Esta página de inicio se mostrará después de un inicio de sesión exitoso y mostrará cualquier mensaje de éxito o error generado por el script de inicio de sesión.
Recuerde reemplazar los detalles de conexión de la base de datos con la información real de su base de datos.