Un tutorial para el principiante! No importa a dónde vaya en Internet, hay un elemento básico que encontrará en casi todas partes: el registro de usuarios. Ya sea que necesite que sus usuarios se registren por seguridad o solo por una característica adicional, no hay razón para no hacerlo con este sencillo tutorial. En este tutorial, repasaremos los aspectos básicos de la administración de usuarios y terminaremos con un Área de miembros simple que puede implementar en su propio sitio web..
Si necesita ayuda adicional o desea un acceso directo, consulte la gama de proveedores de servicios PHP en Envato Studio. Estos desarrolladores experimentados pueden ayudarlo con cualquier cosa, desde una solución rápida de errores hasta el desarrollo de una aplicación completa desde cero. Así que solo busque los proveedores, lea los comentarios y calificaciones y elija el que más le convenga..
En este tutorial, realizaremos cada paso para crear un sistema de administración de usuarios, junto con un sistema de mensajería privada entre usuarios. Vamos a hacer esto usando PHP, con una base de datos MySQL para almacenar toda la información del usuario. Este tutorial está dirigido a principiantes absolutos de PHP, por lo que no se requiere ningún conocimiento previo. De hecho, es posible que se aburra un poco si es un usuario experimentado de PHP.!
Este tutorial está pensado como una introducción básica a las sesiones y al uso de bases de datos en PHP. Si bien el resultado final de este tutorial puede no serle inmediatamente útil, las habilidades que obtiene de este tutorial le permitirán continuar creando un sistema de membresía propio; satisfaciendo sus propias necesidades.
Antes de comenzar este tutorial, asegúrese de tener a mano la siguiente información:
Si no tiene esta información, su proveedor de alojamiento debería poder brindársela..
Ahora que hemos eliminado las formalidades, comencemos con el tutorial!
Como se indica en la Introducción, necesita una base de datos para continuar más allá de este punto en el tutorial. Para empezar, vamos a hacer una tabla en esta base de datos para almacenar nuestra información de usuario..
La tabla que necesitamos almacenará nuestra información de usuario; para nuestros propósitos usaremos una tabla simple, pero sería fácil almacenar más información en columnas adicionales si eso es lo que necesita. En nuestro sistema necesitamos las siguientes cuatro columnas:
En términos de la base de datos, un Clave primaria es el campo que identifica de forma única la fila. En este caso, ID de usuario
Será nuestra clave principal. Como queremos que esto aumente cada vez que un usuario se registre, usaremos la opción especial MySQL - autoincremento
.
La consulta SQL para crear nuestra tabla se incluye a continuación, y generalmente se ejecutará en la pestaña 'SQL' de phpMyAdmin.
CREAR TABLA 'usuarios' ('ID de usuario' INT (25) NO NULA AUTO_INCREMENT PRIMARY KEY, 'Nombre de usuario' VARCHAR (65) NO NULA, 'Contraseña' VARCHAR (32) NO NULA, 'EmailAddress' VARCHAR (255) NO NULA);
Para simplificar la creación de nuestro proyecto, vamos a hacer un archivo base que podemos incluir en cada uno de los archivos que creamos. Este archivo contendrá la información de conexión de la base de datos, junto con ciertas variables de configuración que nos ayudarán en el camino.
Comience creando un nuevo archivo: base.php
, e introduce en él el siguiente código:
Echemos un vistazo a algunas de esas líneas, ¿vale? Hay algunas funciones aquí que hemos usado y que aún no hemos explicado, así que echémosle un vistazo rápidamente y le daremos un sentido: si ya comprende los conceptos básicos de PHP, puede omitir esta explicación..
session_start ();
Esta función inicia una sesión para el nuevo usuario, y más adelante en este tutorial almacenaremos información en esta sesión para que podamos reconocer a los usuarios que ya han iniciado sesión. Si ya se ha creado una sesión, esta función lo reconocerá y llevará. esa sesión pasa a la página siguiente.
mysql_connect ($ dbhost, $ dbuser, $ dbpass) o die ("Error de MySQL:". mysql_error ()); mysql_select_db ($ dbname) o die ("Error de MySQL:". mysql_error ());
Cada una de estas funciones realiza una tarea separada, pero vinculada. los mysql_connect
La función conecta nuestro script al servidor de la base de datos utilizando la información que le dimos anteriormente, y la mysql_select_db
La función entonces elige qué base de datos usar con el script. Si alguna de las funciones no se completa, el morir
La función automáticamente intervendrá y detendrá el procesamiento del script, dejando a cualquier usuario con el mensaje de que había un error de MySQL.
El elemento más importante en nuestra página es la primera línea de PHP; esta línea incluirá el archivo que creamos anteriormente (base.php), y esencialmente nos permitirá acceder a cualquier cosa desde ese archivo en nuestro archivo actual. Haremos esto con la siguiente línea de código PHP. Crea un archivo llamado index.php
, y coloca este código en la parte superior.
Lo primero que vamos a hacer para nuestra interfaz es crear una página donde los usuarios puedan ingresar sus datos para iniciar sesión, o si ya han iniciado sesión en una página donde pueden elegir lo que desean hacer. En este tutorial supongo que los usuarios tienen un conocimiento básico de cómo funciona HTML / CSS, y por lo tanto no voy a explicar este código en detalle; En este momento, estos elementos no tendrán estilo, pero podremos cambiar esto más adelante cuando creemos nuestra hoja de estilos CSS..
Usando el archivo que acabamos de crear (index.php
), ingrese el siguiente código HTML debajo de la línea de PHP que ya hemos creado.
Sistema de gestión de usuarios (Tom Cameron para NetTuts) ¿Qué les mostraremos??
Antes de que salgamos el resto de la página, tenemos algunas preguntas para hacernos:
- ¿El usuario ya ha iniciado sesión??
- Sí - Necesitamos mostrarles una página con opciones para que elijan..
- No - continuamos con la siguiente pregunta.
¿El usuario ya ha enviado sus datos de inicio de sesión??
- Sí - Necesitamos verificar sus detalles, y si es correcto, los registraremos en el sitio.
- No - continuamos con la siguiente pregunta.
Si los dos anteriores fueron respondidos No, Ahora podemos asumir que debemos mostrar un formulario de inicio de sesión al usuario. Estas preguntas son, de hecho, las mismas preguntas que vamos a implementar en nuestro código PHP. Vamos a hacer esto en forma de
si las declaraciones
. Sin ingresar nada en ninguno de sus nuevos archivos, echemos un vistazo a la lógica que vamos a usar primero.Parece confuso, ¿no? Vamos a dividirlo en secciones más pequeñas y repasarlas una por una..
if (! empty ($ _ SESSION ['LoggedIn']) &&! empty ($ _ SESSION ['Username'))) // permite que el usuario acceda a la página principalCuando un usuario ingrese a nuestro sitio web, almacenaremos su información en una sesión; en cualquier momento después de esto, podremos acceder a esa información en una matriz global de PHP especial. -
$ _SESION
. Estamos usando elvacío
Función para comprobar si la variable está vacía, con el operador.!
en frente de eso. Por eso estamos diciendo:Si la variable $ _SESSION ['LoggedIn'] no está vacía y $ _SESSION ['Username'] no está vacía, ejecute este fragmento de código.
La siguiente línea funciona de la misma manera, solo que esta vez usando la
$ _POST
matriz global. Esta matriz contiene todos los datos que se enviaron desde el formulario de inicio de sesión que crearemos más adelante en este tutorial. La línea final solo se ejecutará si no se cumple ninguna de las afirmaciones anteriores; En este caso le mostraremos al usuario un formulario de inicio de sesión..Entonces, ahora que entendemos la lógica, obtengamos algo de contenido entre esas secciones. En tus
index.php
archivo, ingrese a continuación lo que ya tiene.Área de miembros
=$_SESSION['Username']?> y su dirección de correo electrónico es =$_SESSION['EmailAddress']?>
. Éxito"; eco "Ahora te estamos redireccionando al área de miembros..
"; eco ""; else echo"Error
"; eco "Lo sentimos, su cuenta no se pudo encontrar. Por favor haga click aquí para intentar de nuevo.
"; else ?>Ingreso de miembros
¡Gracias por su visita! Por favor, inicie sesión a continuación, o haga clic aquí para registrarse.
Con suerte, el primer y último bloque de código no te confundirán demasiado. En lo que realmente necesitamos quedarnos atrapados ahora es por lo que todos han venido a este tutorial: el código PHP. Ahora vamos a través de la segunda sección, una línea a la vez, y explicaré para qué está destinado cada bit de código aquí..
$ username = mysql_real_escape_string ($ _ POST ['username']); $ contraseña = md5 (mysql_real_escape_string ($ _ POST ['contraseña']));
Hay dos funciones que necesitan explicación para esto. en primer lugar, mysql_real_escape_string
- Una función muy útil para limpiar la entrada de la base de datos. No es una medida a prueba de fallos, pero esto mantendrá alejada a la mayoría de los piratas informáticos maliciosos eliminando partes no deseadas de lo que se haya colocado en nuestro formulario de inicio de sesión. En segundo lugar, md5
. Sería imposible entrar en detalles aquí, pero esta función simplemente encripta todo lo que se le pasa, en este caso la contraseña del usuario, para evitar que las miradas indiscretas la lean..
$ checklogin = mysql_query ("SELECT * FROM users WHERE Username = '". $ username. "' AND Password = '". $ password. "'"); if (mysql_num_rows ($ checklogin) == 1) $ row = mysql_fetch_array ($ checklogin); $ email = $ row ['EmailAddress']; $ _SESSION ['Nombre de usuario'] = $ nombre de usuario; $ _SESSION ['EmailAddress'] = $ email; $ _SESSION ['LoggedIn'] = 1;
Aquí tenemos el núcleo de nuestro código de inicio de sesión; En primer lugar, realizamos una consulta en nuestra base de datos. En esta consulta estamos buscando todo lo relacionado con un miembro, cuyo nombre de usuario y contraseña coincidan con los valores de nuestros $ nombre de usuario
y $ contraseña
que el usuario ha proporcionado. En la siguiente línea tenemos una declaración if, en la que verificamos cuántos resultados hemos recibido. Si no hay resultados, esta sección no se procesará. Pero si hay un resultado, sabemos que el usuario existe, por lo que vamos a iniciar sesión.
Las siguientes dos líneas son para obtener la dirección de correo electrónico del usuario. Ya tenemos esta información de la consulta que ya hemos ejecutado, por lo que podemos acceder fácilmente a esta información. Primero, obtenemos una matriz de los datos que se han recuperado de la base de datos, en este caso estamos usando la función PHP mysql_fetch_array
. Entonces he asignado el valor de la Dirección de correo electrónico
campo a una variable para que usemos más tarde.
Ahora ponemos la sesión. Estamos almacenando el nombre de usuario y la dirección de correo electrónico del usuario en la sesión, junto con un valor especial para que sepamos que han iniciado sesión utilizando este formulario. Después de que todo esto se haya dicho y hecho, serán redirigidos al Área de Miembros usando el REFRÉS DE META en el código.
Entonces, ¿cómo se ve nuestro proyecto actualmente a un usuario??
¡Genial! Es hora de seguir adelante, para asegurarse de que las personas puedan ingresar a su sitio.
Es bueno tener un formulario de inicio de sesión en su sitio, pero ahora debemos permitir que el usuario pueda usarlo, necesitamos hacer un formulario de inicio de sesión. Hacer un archivo llamado register.php
y pon el siguiente código en él.
Sistema de gestión de usuarios (Tom Cameron para NetTuts) Error"; eco "Lo sentimos, se ha tomado ese nombre de usuario. Por favor, regrese y vuelva a intentarlo.
"; else $ registerquery = mysql_query (" INSERT INTO users (nombre de usuario, contraseña, dirección de correo electrónico) VALUES ('". $ username."', '". $ password."', '". $ email."') "); if ($ registerquery) echo"Éxito
"; eco "Su cuenta fue creada exitosamente. Por favor haga clic aquí para iniciar sesión.
"; else echo"Error
"; eco "Lo sentimos, tu registro falló. Por favor, regrese y vuelva a intentarlo.
"; else ?>Registro
Por favor, introduzca sus datos a continuación para registrarse.