seguimos con nuestro curso de php, donde veremos las sesión y cookie pero primero ¿que son las sesiones? las sesiones consiste en guardar datos almacenándolos en una variable global llamada $_SESSION esto con el fin de personalizar la aplicación y mejorar el control del sitio web.
las sesiones pueden almacenar cualquier cantidad de datos dándole su clave, valor de la sesión pero primero antes que todo se debe llamar primero la función session_start() esto inicia la sesión si no utilizamos esto no funcionara.
ahora ¿que son las cookie? las cookies son un mecanismo por el que se almacenan datos en el navegador remoto y poder así monitorizar o identificar a usuarios que vuelven al sito web, esto también nos permite almacenar cualquier valor, para eso utilizamos la función setcookie(clave, valor, tiempo,path, dominio, protocolo).
crearemos un archivo de login.php donde haremos nuestro esqueleto de html, aquí les dejo el link de descarga del archivo login.php
una vez que se han descargado el archivo que les deje y hayan echo su propia estructura comenzaremos a programar, ahora crearemos otro archivo llamado session_user.php comencemos:
//escapar caracteres raros que viene por post
$email = addslashes($_POST['email']);
$password = addslashes($_POST['password']);
//la validación si hay algo por post valida los campos
if (!empty($_POST['sbt_login'])) {
if(empty($email) && empty($password)){
echo "verifica que los campos esten completos";
}else {
//conectar a la base de datos
$conect = new mysqli('localhost', 'root', 'root', 'registro');
//en caso de que haya un error al conectarse
if($conect->connect_error){
echo "ocurrio un error al conectarse a la base de datos";
}
//verificar si el email existe
$sql = "SELECT * FROM users WHERE email = '{$email}' AND password = '".md5($password)."'";
$query = $conect->query($sql);
//si existe porcederemos a inicar la sesion
if ($query->num_rows > 0) {
//inicializar la sesin
session_start();
//guardamos el email en una sesion
$_SESSION['USE'] = base64_encode($email);
while ($user = $query->fetch_assoc()) {
//con eso procederemos a guardar su id de la base de datos en la sesion
//esto nos sirve con el fin de querer recuperar el id de usuario para usarlo en otra parte del codigo
$_SESSION['USI'] = base64_encode(md5($user['id']));
}
//creamos una cookie con eso para verificar que el usuario haya iniciado sesion con existo
//con un limite de 1 hora
setcookie('LOG', base64_encode('us_lg'), time() + 3600, '/');
} else {
echo "verifica tu correo y contraseña";
}
$conect->close();
}
}else {
header('Location: /');
}
esto es todo lo que necesitamos para hacer que un usuario se logee, con esto nuestra aplicación básica esta echa, hemos aprendido muchas cosa y sobre todo conectarnos a nuestra base de datos mediante objetos y no por funciones, espero que le haya servido nos vemos en un próximo curso de php.
las sesiones pueden almacenar cualquier cantidad de datos dándole su clave, valor de la sesión pero primero antes que todo se debe llamar primero la función session_start() esto inicia la sesión si no utilizamos esto no funcionara.
ahora ¿que son las cookie? las cookies son un mecanismo por el que se almacenan datos en el navegador remoto y poder así monitorizar o identificar a usuarios que vuelven al sito web, esto también nos permite almacenar cualquier valor, para eso utilizamos la función setcookie(clave, valor, tiempo,path, dominio, protocolo).
crearemos un archivo de login.php donde haremos nuestro esqueleto de html, aquí les dejo el link de descarga del archivo login.php
una vez que se han descargado el archivo que les deje y hayan echo su propia estructura comenzaremos a programar, ahora crearemos otro archivo llamado session_user.php comencemos:
//escapar caracteres raros que viene por post
$email = addslashes($_POST['email']);
$password = addslashes($_POST['password']);
//la validación si hay algo por post valida los campos
if (!empty($_POST['sbt_login'])) {
if(empty($email) && empty($password)){
echo "verifica que los campos esten completos";
}else {
//conectar a la base de datos
$conect = new mysqli('localhost', 'root', 'root', 'registro');
//en caso de que haya un error al conectarse
if($conect->connect_error){
echo "ocurrio un error al conectarse a la base de datos";
}
//verificar si el email existe
$sql = "SELECT * FROM users WHERE email = '{$email}' AND password = '".md5($password)."'";
$query = $conect->query($sql);
//si existe porcederemos a inicar la sesion
if ($query->num_rows > 0) {
//inicializar la sesin
session_start();
//guardamos el email en una sesion
$_SESSION['USE'] = base64_encode($email);
while ($user = $query->fetch_assoc()) {
//con eso procederemos a guardar su id de la base de datos en la sesion
//esto nos sirve con el fin de querer recuperar el id de usuario para usarlo en otra parte del codigo
$_SESSION['USI'] = base64_encode(md5($user['id']));
}
//creamos una cookie con eso para verificar que el usuario haya iniciado sesion con existo
//con un limite de 1 hora
setcookie('LOG', base64_encode('us_lg'), time() + 3600, '/');
} else {
echo "verifica tu correo y contraseña";
}
$conect->close();
}
}else {
header('Location: /');
}
esto es todo lo que necesitamos para hacer que un usuario se logee, con esto nuestra aplicación básica esta echa, hemos aprendido muchas cosa y sobre todo conectarnos a nuestra base de datos mediante objetos y no por funciones, espero que le haya servido nos vemos en un próximo curso de php.



0 comentarios:
Publicar un comentario