En este corto artículo te mostraré cómo iniciar una sesión de PHP solo si la misma no está iniciada. De este modo podemos invocar a la función que te mostraré sin importar si la sesión ya ha sido iniciada anteriormente, evitando el aviso que dice:
Notice: session_start(): A session had already been started – ignoring in archivo..php on line N.
Autenticar, registrar y comprobar credenciales de usuarios usando PHP con MySQL
Esta es la parte 2 del tutorial para un simple login con PHP. En el login anterior vimos un ejemplo básico en donde se introducen las credenciales y si coinciden se inicia la sesión.
En este tutorial veremos cómo registrar usuarios en una base de datos, los cuales tendrán correo y contraseña. Más tarde, en el apartado del login vamos a comprobar que los datos coincidan de acuerdo a los que existen en la base de datos.
PHP y MySQL – Login, registro y autenticación de usuarios
Finalmente, tendremos una página protegida a donde solamente los usuarios que hayan iniciado sesión tendrán acceso. En ella mostraremos el correo del usuario actualmente logueado.
Resumiendo, haremos un login con PHP y MySQL, manejando sesiones, así como el registro de los usuarios. De igual manera indicaremos si un usuario ya está registrado.
Nota: aunque aquí se usa MySQL, PDO permite cambiar el motor de base de datos. Un claro ejemplo es este CRUD con SQLite.
En este post explicaré las bases para trabajar con un login y sesiones en PHP. Será un ejemplo muy básico para principiantes, lo que haremos será:
Crear un formulario de login
Verificar si el usuario y la contraseña coinciden
Si coinciden, se inicia sesión y se redirige a otra página
Si no coinciden, se indica con un mensaje
Poner un enlace para cerrar sesión
Ejemplo simple de login y sesiones con PHP
En resumen, será un tutorial para iniciar y cerrar sesión en PHP, además de proteger páginas; todo esto perfectamente comentado y explicado para los principiantes.
Introducción Trabajando en un pequeño proyecto de PHP me topé con la siguiente advertencia: Warning: session_set_save_handler(): Cannot change save handler when session is active. Este mensaje me tuvo dando vueltas por todo internet sin encontrar una solución, pero probando algunas cosas di con ella y vengo a exponerla. PHP permite implementar Leer más…
Vamos a ver hoy cómo implementar un manejador de sesiones en PHP hecho por nosotros mismos para poder entender a fondo cómo funcionan.
Como todos sabemos, PHP provee el uso de sesiones cuya persistencia es lograda a través de archivos en el sistema.
Es decir, guarda y lee los datos de las sesiones en archivos (imaginemos que lo hace en ficheros txt para darnos una pequeña idea).
Esto está bien si no usaremos las sesiones en múltiples peticiones AJAX, en donde puede desatarse una lectura concurrente del archivo, lo que ocasionará bloqueos.
Debido a que PHP bloquea el fichero cuando se está leyendo, si se desea abrir el mismo, se generará un error. Por ello es que hoy veremos cómo implementar nuestro propio manejador de sesiones.
Será implementado en MySQL utilizando PDO. Vamos allá.