A ver, no he creado yo desde 0 los ficheros, me basé en uno que encontré por ahí. De todas formas, explicaré todo lo que hice con detalle. Son 6 ficheros diferentes:
user_config.php: contiene la comprobación de conexión con la base de datos:
Código PHP:
<?php
error_reporting(E_ALL & ~E_NOTICE);
$server = 'localhost';
$password = '';
$usuario = 'root';
$database = 'proyecto';
$con = mysqli_connect($server, $usuario, $password, $database);
if(!$con){ die('Comprueba tus datos de conexión'); }
include('user_sesion.php');
?>
user_sesion.php: este es el de sesión que no entiendo muy bien:
Código PHP:
<?php
$separar = explode('#', $_COOKIE['sesion']);
if($_COOKIE['sesion'] && mysqli_num_rows($query = mysqli_query($con,'SELECT * FROM `usuarios` WHERE `id` = \''.(int)$separar[0].'\' && `password` = \''.mysqli_real_escape_string($con,$separar[1]).'\''))){
$user = mysqli_fetch_assoc($query);
$currentip = $_SERVER['REMOTE_ADDR'] ? $_SERVER['REMOTE_ADDR'] : $_SERVER['X_FORWARDER_FOR'];
mysqli_query($con,'UPDATE `usuarios` SET `ip` = \''.mysqli_real_escape_string($con,$currentip).'\' WHERE `id` = \''.$user['id'].'\'');
}else{
unset($_COOKIE['sesion']);
}
?>
user_registro.php: contiene el formulario de registro y comprobaciones de los campos.
user_login.php: contiene el formulario de login y comprobaciones de los campos.
user_logeado.php: contiene el mensaje de bienvenida que quiero hacer una vez logeas.
user_logout.php: para deslogear:
Código PHP:
<?php
include('user_config.php');
session_start();
if(!$user) { die('No estás logueado'); }
setcookie('sesion', 'nada', time()+1, '/');
session_destroy();
header('Location: /index.php');
?>