Ingresos de registro de autenticación php. Construyendo un sistema de registro increíblemente simple en PHP y MySQL

Reg.ru: dominios y hosting

El mayor registrador y proveedor de alojamiento de Rusia.

Más de 2 millones de nombres de dominio en servicio.

Promoción, correo de dominio, soluciones empresariales.

Más de 700.000 clientes en todo el mundo ya han elegido.

*Pase el mouse sobre para pausar el desplazamiento.

Atrás Adelante

Creando un sistema simple de registro de usuarios en PHP y MySQL

Crear un sistema de registro es mucho trabajo. Debe escribir un código que valide las direcciones de correo electrónico, envíe un correo electrónico confirmando el registro y también valide otros campos del formulario y mucho más.

E incluso después de escribir todo esto, los usuarios se mostrarán reacios a registrarse, porque... esto requiere algo de esfuerzo de su parte.

En este tutorial, crearemos un sistema de registro muy simple que no requiere ni almacena contraseñas. El resultado será fácil de modificar y agregar a un sitio PHP existente. ¿Quieres saber cómo funciona? Lea a continuación.



Así es como funcionará nuestro sistema súper simple:

Combinaremos el formulario de autorización y el registro. Este formulario tendrá un campo para ingresar su dirección de correo electrónico y un botón de registro;
- Al completar el campo con una dirección de correo electrónico, al hacer clic en el botón de registro se creará un registro sobre un nuevo usuario, pero solo si la dirección de correo electrónico ingresada no se encontró en la base de datos.

Después de esto, se crea un conjunto único aleatorio de caracteres (token), que se envía al correo electrónico especificado por el usuario en forma de enlace que será relevante durante 10 minutos;
- El enlace lleva al usuario a nuestro sitio web. El sistema determina la presencia de un token y autoriza al usuario;

Ventajas de este enfoque:

No es necesario almacenar contraseñas ni validar campos;
- No es necesario recuperar tu contraseña, preguntas de seguridad, etc.;
- Desde el momento en que un usuario se registra/inicia sesión, siempre puedes estar seguro de que este usuario estará en tu zona de acceso (que la dirección de correo electrónico es verdadera);
- Proceso de registro increíblemente sencillo;

Defectos:

Seguridad de la cuenta de usuario. Si alguien tiene acceso al correo del usuario, puede iniciar sesión.
- El correo electrónico no es seguro y puede ser interceptado. Tenga en cuenta que esta pregunta también es relevante en el caso de que la contraseña se haya olvidado y sea necesario restaurarla, o en cualquier sistema de autorización que no utilice HTTPS para la transferencia de datos (inicio de sesión/contraseña);
- Si bien configuras tu servidor de correo correctamente, existe la posibilidad de que los mensajes con enlaces de autorización terminen en spam;

Comparando las ventajas y desventajas de nuestro sistema, podemos decir que el sistema tiene una alta usabilidad (máxima comodidad para el usuario final) y, al mismo tiempo, tiene un indicador de seguridad bajo.

Por lo que se sugiere utilizarlo para registros en foros y servicios que no funcionan con información importante.

Cómo utilizar este sistema

En caso de que solo necesite utilizar un sistema para autorizar a los usuarios en su sitio y no quiera desglosar esta lección, esto es lo que debe hacer:

Necesitas descargar las fuentes adjuntas a la lección.
- Busque el archivo table.sql en el archivo. Importelo a su base de datos usando la opción de importación en phpMyAdmin. Forma alternativa: abra este archivo a través de un editor de texto, copie la consulta SQL y ejecútela;
- Abra include/main.php y complete la configuración para conectarse con su base de datos (especifique el usuario y la contraseña para conectarse con la base de datos, así como el host y el nombre de la base de datos). En el mismo archivo también deberá especificar el correo electrónico, que se utilizará como dirección original para los mensajes enviados por el sistema. Algunos servidores bloquean los correos electrónicos salientes a menos que el formulario contenga una dirección de correo electrónico real, que fue creada desde el panel de control del servidor, así que proporcione una dirección real;
- Cargue todos los archivos y activos index.php, protected.php e incluye carpetas a través de FTP a su host;
- Agregue el siguiente código a cada página PHP donde desee mostrar el formulario de inicio de sesión;

Require_once "incluye/main.php"; $usuario = nuevo Usuario(); if(!$usuario->loggedIn())( redirigir("index.php"); )
- ¡Listo!

Para aquellos que estén interesados ​​en cómo funciona todo, ¡sigan leyendo a continuación!

El primer paso es escribir el código HTM del formulario de autorización. Este código se encuentra en el archivo index.php. Este archivo también contiene código PHP que maneja datos de formularios y otras funciones útiles del sistema de inicio de sesión. Puede obtener más información sobre esto en la siguiente sección dedicada a la revisión del código PHP.

index.php

Tutorial: Sistema de registro súper simple con PHP y MySQL Iniciar sesión o registrarse

Introduzca su dirección de correo electrónico arriba y le enviaremos
usted un enlace de inicio de sesión.

Iniciar sesión/Registrarse

En la sección principal (entre las etiquetas y) incluí los estilos principales (no se tratan en este tutorial, por lo que puedes verlos tú mismo. Carpeta activos/css/style.css). Antes de la etiqueta de cierre, incluí la biblioteca jQuery y el archivo script.js, que escribiremos y analizaremos a continuación.


javascript

jQuery rastrea el estado del botón "Registrarse/Iniciar sesión" usando la función e.preventDefault() y envía solicitudes AJAX. Dependiendo de la respuesta del servidor, muestra uno u otro mensaje y determina acciones adicionales/

activos/js/script.js

$(función())( var form = $("#login-register"); form.on("enviar", función(e)( if(form.is(".loading, .loggedIn"))( return falso; ) var correo electrónico = form.find("input").val(), messageHolder = form.find("span"); $.post(this.action, (correo electrónico: correo electrónico), función (m)( if (m.error)( form.addClass("error"); messageHolder.text(m.message); ) else( form.removeClass("error").addClass("loggedIn"); messageHolder.text(m.message ) )); $(documento).ajaxStart(función())( formulario.addClass("cargando"); )); $(documento).ajaxComplete(función())( formulario. removeClass("cargando") ;

se agregó al formulario para mostrar el estado actual de la solicitud AJAX (esto fue posible gracias a los métodos ajaxInicio()) Y ajaxCompleto(), que puede encontrar hacia el final del archivo).

Esta clase muestra un archivo gif animado giratorio (como para indicarnos que la solicitud se está procesando) y también actúa como una bandera para evitar que el formulario se envíe nuevamente (cuando ya se ha hecho clic una vez en el botón de registro). La clase .loggedIn es otro indicador: se establece cuando se envió el correo electrónico. Esta bandera bloquea inmediatamente cualquier acción adicional con el formulario.

Esquema de base de datos

Nuestro sistema de registro increíblemente simple utiliza 2 tablas MySQL (el código SQL está en el archivo table.sql). El primero almacena datos sobre cuentas de usuario. El segundo almacena información sobre la cantidad de intentos de inicio de sesión.


Esquema de la tabla de usuarios.

El sistema no utiliza contraseñas, como se puede observar en el diagrama. En él puede ver la columna de tokens con tokens adyacentes a la columna token_validity. El token se instala tan pronto como el usuario se conecta al sistema y configura su correo electrónico para enviar un mensaje (más sobre esto en el siguiente bloque). La columna token_validity establece la hora 10 minutos después, después de la cual el token ya no es válido.


Esquema de tabla que cuenta el número de intentos de autorización.

En ambas tablas, la dirección IP se almacena en forma procesada, utilizando la función ip2long en un campo de tipo entero.

Ahora podemos escribir algo de código PHP. La funcionalidad principal del sistema está asignada a la clase User.class.php, que puedes ver a continuación.

Esta clase utiliza activamente idorm (docs), estas bibliotecas son las herramientas mínimas necesarias para trabajar con bases de datos. Maneja el acceso a la base de datos, la generación de tokens y la validación de tokens. Proporciona una interfaz sencilla que facilita la conexión de un sistema de registro a su sitio si utiliza PHP.

Usuario.clase.php

Usuario de clase( // ORM privado caso privado $orm; /** * Encuentre un usuario por token. Solo se aceptan tokens válidos para su consideración. El token se genera solo durante 10 minutos desde el momento en que se creó * @param string $token Este es el token que estamos buscando * @return Usuario. Devuelve el valor de la función Usuario */ función estática pública findByToken($token)( // busca el token en la base de datos y asegúrate de que esté configurada la marca de tiempo correcta $. resultado = ORM::for_table("reg_users") ->where ("token", $token) ->where_raw("token_validity > NOW()") ->find_one(); if(!$resultado)( return false; ) return new User($resultado) /** *); Autorizar o registrar un usuario * @param string $email dirección de correo electrónico del usuario * @return User */ public static function loginOrRegister($email)( // Si tal usuario ya existe, devuelve el valor de la función Usuario de la dirección de correo electrónico especificada almacenada en la base de datos if(User::exists($email))( return new User($email); ) // De lo contrario, crea un nuevo usuario en el base de datos y devolver el valor de la función User::create del correo electrónico especificado return User::create($email);

Los tokens se generan utilizando el algoritmo SHA1 y se almacenan en la base de datos. Estoy usando las funciones de sincronización de MySQL para establecer un límite de tiempo de 10 minutos para la validez de un token.

Cuando se valida un token, le decimos directamente al controlador que solo estamos considerando los tokens que aún no han caducado, almacenados en la columna token_validity.

Tenga en cuenta que estoy usando el método mágico. __conseguir biblioteca docs al final del archivo para interceptar el acceso a las propiedades del objeto Usuario.

Gracias a esto, es posible acceder a la información almacenada en la base de datos, gracias a las propiedades $usuario->email, $usuario->token, etc. En el siguiente fragmento de código, veremos cómo utilizar estas clases como ejemplo.


Página protegida

Otro archivo que almacena funcionalidades útiles y necesarias es el archivo funciones.php. Existen varios llamados ayudantes: funciones de asistente que le permiten crear código más limpio y legible en otros archivos.

funciones.php

Función send_email($from, $to, $subject, $message)( // Ayudante que envía correo electrónico $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Tipo de contenido: texto /plain; charset=utf-8" . "\r\n"; $encabezados .= "De: ".$de . "\r\n"; return mail($a, $asunto, $mensaje, $encabezados ); ) function get_page_url())( // Determinar la URL del archivo PHP $url = "http".(empty($_SERVER["HTTPS"])?"":"s")."://" .$_SERVER ["SERVER_NAME"]; if(isset($_SERVER["REQUEST_URI"]) && $_SERVER["REQUEST_URI"] != "")( $url.= $_SERVER["REQUEST_URI"]; ) else( $url. = $_SERVER["PATH_INFO"]; ) return $url; function rate_limit($ip, $limit_hour = 20, $limit_10_min = 10)( // Número de intentos de inicio de sesión en la última hora para esta dirección IP $count_hour = ORM: :for_table("reg_login_attempt") ->where("ip", sprintf("%u", ip2long($ip))) ->where_raw("ts > SUBTIME(NOW(),"1:00" )") ->count(); // Número de intentos de inicio de sesión en los últimos 10 minutos en esta dirección IP $count_10_min = ORM::for_table("reg_login_attempt") ->where("ip", sprintf("%u" , ip2long($ ip))) ->where_raw("ts > SUBTIME(NOW(),"0:10")") ->count();

if($count_hour > $limit_hour || $count_10_min > $limit_10_min)( throw new Exception("¡Demasiados intentos de inicio de sesión!"); ) ) function rate_limit_tick($ip, $email)( // Crea un nuevo registro en la tabla eso cuenta el número de intentos de inicio de sesión $login_attempt = ORM::for_table("reg_login_attempt")->create(); $login_attempt->email = $login_attempt->ip = sprintf("%u", ip2long($ip; )); $login_attempt->save(); función redirigir($url)( encabezado("Ubicación: $url"); salir; ) Funciones límite_tasa Y tasa_limit_tick

monitorear el número de intentos de autorización durante el período de tiempo transcurrido desde el primer intento. El intento de inicio de sesión se registra en la base de datos en la columna reg_login_attempt. Estas funciones se llaman cuando los datos del formulario se procesan y envían, como puede ver en el siguiente fragmento de código.

index.php

Try( if(!empty($_POST) && isset($_SERVER["HTTP_X_REQUESTED_WITH"]))( // Genera un encabezado JSON header("Content-type: application/json"); // ¿Esta dirección de correo electrónico es válida si (!isset($_POST["email"]) || !filter_var($_POST["email"], FILTER_VALIDATE_EMAIL))( throw new Exception("Ingrese un correo electrónico válido."); ) // Comprobar. usuario autorizado a iniciar sesión, ¿ha excedido el número de conexiones permitidas? (archivo funciones.php para más información) rate_limit($_SERVER["REMOTE_ADDR"] // Registra este intento de autorización rate_limit_tick($_SERVER["REMOTE_ADDR"] , $ _POST["email"]); // Enviar un correo electrónico al usuario $message = ""; $email = $_POST["email"] $subject = "Su enlace de inicio de sesión" ( $subject = "; ¡Gracias por registrarte!"; $message = "¡Gracias por registrarte en nuestro sitio!\n\n"; ) // Intentando autorizar o registrar a un usuario $user = User::loginOrRegister($_POST[ "email"] ); $message.= "Puedes iniciar sesión desde esta URL:\n";

$mensaje.= get_page_url()."?tkn=".$usuario->generateToken()."\n\n"; $message.= "El enlace caducará automáticamente después de 10 minutos.";$resultado = send_email($fromEmail, $_POST["email"], $asunto, $mensaje);

index.php

if(!$result)( throw new Exception("Hubo un error al enviar su correo electrónico. Inténtelo de nuevo."); ) die(json_encode(array("message" => "¡Gracias! Hemos enviado un enlace a su bandeja de entrada también revise su carpeta de correo no deseado."))); ) ) catch(Exception $e)( die(json_encode(array("error"=>1, "message" => $e->getMessage(). )));

Después de iniciar sesión/registrarse exitosamente, el código anterior enviará al usuario un enlace de inicio de sesión. El token está disponible porque se pasa como una variable en el enlace generado por el método

$_GET

con marcador tkn

index.php

If(isset($_GET["tkn"]))( // ¿Este token es válido para autorización? $user = User::findByToken($_GET["tkn"]); if($user)( // Sí, es. Redirigir a la página protegida $user->login(); redirigir("protected.php"); // No, el token no es válido. ).

Al final del código, nuevamente configuré una redirección a index.php, por lo que el parámetro ?cerrar sesión=1 no es necesario transmitir a través de URL.

Nuestro archivo index.php requiere archivos adicionales. protección: no queremos que las personas que han iniciado sesión en el sistema vuelvan a ver el formulario de registro. Para estos fines utilizamos el método $usuario->loggedIn().

index.php

$usuario = nuevo Usuario(); if($usuario->loggedIn())( redirigir("protected.php"); )

Finalmente, aquí hay un fragmento de código que le permite proteger las páginas de su sitio y hacerlas accesibles solo después de la autorización.

protegido.php

// Para proteger cada página de su sitio, incluya un archivo main.php // y cree un nuevo objeto Usuario. ¡Así de fácil es! require_once "incluye/main.php"; $usuario = nuevo Usuario(); if(!$usuario->loggedIn())( redirigir("index.php"); )

Después de esta verificación, puede estar seguro de que el usuario fue autorizado exitosamente. También puede acceder a la información almacenada en la base de datos utilizando las propiedades del objeto. $usuario. Para mostrar el correo electrónico y el estado del usuario, utilice este código:

Haga eco de "Su correo electrónico: ".$usuario->correo electrónico; echo "Tu rango: ".$usuario->rank();

Método rango() se utiliza aquí porque la base de datos generalmente almacena números (0 para un usuario normal, 1 para un administrador) y necesitamos convertir estos datos en los estados a los que se relacionan, que es con lo que nos ayuda este método.

Para convertir a un usuario normal en administrador, simplemente edite la entrada del usuario a través de phpMyAdmin (o cualquier otro programa que le permita administrar bases de datos). El estado de administrador no otorga ningún privilegio; en este ejemplo, la página mostrará que usted es administrador, y eso es todo.

Pero qué hacer con esto queda a su discreción; usted mismo puede escribir y redactar código que establezca ciertos privilegios y capacidades para los administradores.

¡Hemos terminado!

¡Hemos terminado con esta forma increíblemente súper casi simple! Puedes usarlo en tus sitios PHP, es bastante simple. También puedes modificarlo tú mismo y hacerlo como quieras.

El material fue preparado por Denis Malyshok específicamente para el sitio web.

PD ¿Quieres avanzar más en el dominio de PHP y POO? Preste atención a las lecciones premium sobre diversos aspectos de la creación de sitios web, incluida la programación en PHP, así como a un curso gratuito sobre cómo crear su propio sistema CMS en PHP desde cero usando programación orientada a objetos:

¿Te gustó el material y quieres agradecerme?
¡Simplemente comparte con tus amigos y colegas!


Hola a todos. Entonces hemos aprendido algunos elementos para crear formas. Es hora de combinar nuestros conocimientos para resolver un problema mayor. Creemos el formulario de autorización más simple en el sitio. Para hacer esto, necesitamos dos campos, los creamos y les adjuntamos firmas.

El primer campo es para iniciar sesión, el segundo es para la contraseña. Y con el segundo no es tan sencillo. Porque por el momento es sólo un campo de entrada de texto.

Acceso
Contraseña

Resultado en el navegador:

Para que el texto ingresado en él sea reemplazado por asteriscos, como es habitual en un campo de este tipo, es necesario realizar una simple acción. Es decir, reemplace el valor del atributo de tipo con contraseña:

Resultado:

Botón de envío de formulario

Aquí tienes. Nuestro formulario está casi listo. Ahora, para completar su creación, necesita crear un botón que se utilizará para enviar el formulario. El problema se resuelve usando una etiqueta de tipo enviar.

Si el botón debe tener algún tipo de inscripción, entonces se puede hacer usando el atributo de valor. Depende de usted asignar un nombre al botón o no; si lo hace, el servidor recibirá este nombre, así como el valor del botón.

Como regla general, el nombre del botón de envío de formulario es necesario cuando el formulario tiene varios botones, cada uno de los cuales realiza una acción específica. Gracias a esto, el servidor, al recibir el nombre y el valor del botón del navegador, comprende en qué botón hizo clic el usuario y qué se debe hacer en consecuencia.

Como resultado, el código de nuestro formulario será el siguiente:

Acceso
Contraseña

Resultado en el navegador:

No hace mucho, uno de mis visitantes me pidió que escribiera un artículo sobre cómo registrar y autorizar usuarios en el sitio. De hecho, estoy cumpliendo con su pedido y en este artículo hablaré sobre cómo se hace.

Hay varias formas de crear un registro y autorización de usuario, pero en este artículo analizaré mi favorita: a través de una sesión o un mecanismo de cookies.

En primer lugar, si desea registrarse en su sitio web, debe comprender dónde se almacenarán los datos del usuario. Se puede almacenar en un archivo de texto sin formato, en un archivo XML o en una base de datos. Las dos primeras opciones son muy peligrosas, por lo que no te recomiendo usarlas. Pero la tercera opción, almacenar información sobre los usuarios en una base de datos, es la más popular y es este método de almacenamiento de información el que le recomiendo utilizar.

Decidimos el lugar de almacenamiento. Ahora pasemos directamente al algoritmo de autorización:

  • Cree un formulario de registro en HTML.
  • Reciba datos del formulario en el script del controlador.
  • Verifique los datos recibidos y, si son incorrectos, redirija nuevamente al formulario de registro.
  • Si los datos son correctos, escríbalos en la base de datos.
  • Ese es todo el proceso de registro de un usuario en el sitio. Es decir, el registro guarda información sobre el usuario en el sitio.

    El siguiente punto es la autorización del usuario en el sitio, sin embargo, antes de continuar, le contaré un punto importante en el formulario de registro: la contraseña. Le recomiendo encarecidamente que no almacene contraseñas en texto sin cifrar (por ejemplo, “123456”). Asegúrese de cifrarlos, al menos usando la función md5(). Y almacene la contraseña cifrada en la base de datos.

    Ahora autorización. Lo primero que debe comprender es que la información de autorización debe almacenarse en algún lugar. La opción más sencilla es almacenar información en una sesión (o en una cookie). Y ahora el algoritmo:

  • Cree un formulario de autorización de usuario en HTML, donde el usuario deberá ingresar su nombre de usuario y contraseña.
  • En el script del controlador, acepte los datos del usuario. Si me escuchó y almacenó contraseñas cifradas en una base de datos, primero cifre la contraseña resultante. Si hay contraseñas claras en la base de datos, no es necesario cifrarlas.
  • Verifique la exactitud de los datos ingresados ​​y, si el nombre de usuario y la contraseña coinciden con un usuario existente en la base de datos, escriba la información con el nombre de usuario y la contraseña cifrada (o la contraseña abierta si no la cifró) en una cookie o sesión.
  • Si el nombre de usuario y/o la contraseña se ingresan incorrectamente, redirija nuevamente al formulario de autorización.
  • Ahora tienes la información necesaria sobre la autorización del usuario, que se almacena en su cookie o en el servidor (si tiene sesión). De hecho, ahora debe verificar esta información en cada página del sitio y verificarla de la misma manera que verifica el formulario de autorización. Es decir, lees el nombre de usuario y la contraseña de la cookie (sesión) y los verificas. Si son correctos, muestra una página (para usuarios registrados), y si son incorrectos, muestra otra página (para invitados).

    Y una última cosa. ¿Cómo se hace el botón "Salir"? Muy sencillo. Cuando hace clic en este botón, la cookie o la sesión se borra. Por lo tanto, el usuario es expulsado automáticamente del sitio.

    Como puedes ver, todo es elemental, pero a la hora de implementar este algoritmo definitivamente tendrás muchas preguntas. Por ejemplo, qué hacer al registrar un usuario cuyo inicio de sesión ya está en la base de datos. Implementar varias comprobaciones de datos de entrada, implementar comprobaciones de existencia de correo electrónico, etc. - todo esto es bastante complejo si lo hace por primera vez. Sin embargo, regalé el jugo. Si tiene preguntas durante la implementación, pregunte en el foro o en los comentarios.

    Todos los que desarrollan sitios web, tarde o temprano, se enfrentan a tareas como la autorización y autenticación de usuarios, implementadas precisamente mediante un lenguaje de programación y no mediante el protocolo estándar http. Hoy veremos un ejemplo de creación de una autorización simple utilizando el lenguaje de programación PHP y almacenaremos los datos del usuario en la base de datos MySQL.

    El método siguiente es simple o, por así decirlo, la base para crear una autorización normal, pero puede usarlo fácilmente, ya que funciona bastante bien, y también puede mejorar este método usted mismo e implementarlo en su sitio web.

    Este método se basa en sesiones, pero también uso cookies aquí, para que el navegador recuerde al usuario que se autenticó la última vez, para no ingresar el inicio de sesión cada vez, por supuesto, puede almacenar la contraseña en cookies, pero esto no es seguro, incluso si está cifrado. Para finalizar la sesión simplemente cierre el navegador y ábralo nuevamente.

    Creando objetos en la base de datos.

    Pasemos a la práctica. Primero, creemos una tabla para almacenar datos de usuario en la base de datos MySQL. Sugiero usar una estructura de tabla simple ( Por supuesto, puedes complementarlo con algo, mi base de datos se llama prueba y la tabla es usuarios.):

    CREAR TABLA test.users(user_id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT, user_login VARCHAR(30) NOT NULL, user_password VARCHAR(32) NOT NULL, PRIMARY KEY (user_id)) MOTOR = MYISAM CHARACTER SET utf8 COLLATE utf8_general_ci;

    Y agreguemos inmediatamente una entrada a esta tabla:

    Insertar en test.users (user_login, user_password) valores ("mylogin","202cb962ac59075b964b07152d234b70")

    En total obtuvimos:

    • Iniciar sesión – mi inicio de sesión;
    • Contraseña -;

    Por supuesto, almacenaremos la contraseña en formato hash, ya que almacenar la contraseña en texto sin cifrar no es, por decirlo suavemente, seguro. Nuestro hash de contraseña anterior es 123, por lo que cuando ingresamos la contraseña en el formulario, ingresaremos exactamente 123, no.

    Creando un formulario de registro

    Para que el usuario se registre deberá crear un formulario cuyos datos se enviarán al fichero de tramitación del registro, es decir ser registrado en la base de datos. Por ejemplo, esta es la forma más sencilla:

    Por cierto, con este método es mejor utilizar letras latinas para iniciar sesión ( aquellos. Inglés), si desea escribir un inicio de sesión en ruso, deberá ajustar ligeramente el código. Puedes nombrar el archivo como quieras ( para la prueba utilicé reg.html).

    ¡Nota! Para las pruebas, utilizo solo un archivo, lo llamé mylogin.html (código de archivo a continuación). Puedes usarlo en tus archivos y llamarlos como quieras, aquí describo el proceso de autorización en sí, para que puedas aplicarlo en todas partes. Por cierto, en todos los archivos tendrás que utilizar la función session_start(); para que puedas comprobar si el usuario está autorizado o no. Y una cosa más, por supuesto, anote su configuración para conectarse a la base de datos.

    Crear un formulario de autorización

    ¡Nota! Si de repente su analizador php se niega a funcionar, es decir El código PHP en sí se muestra en su pantalla, entonces simplemente no tiene habilitado el procesamiento PHP en los archivos HTML. Los ajustes se realizan en el archivo de configuración del servidor web httpd.conf (si es Apache):

    Aplicación AddType/x-httpd-php .php .html

    En IIS, en la ventana Agregar asignación de módulo, agregue *.php a *.html, separados por comas. Esto es si lo haces en casa en tu servidor web, y si haces todo esto en el proveedor de alojamiento, entonces tendrás que escribirles y pedirles que hagan los cambios necesarios, algunos proveedores de alojamiento ya los han hecho;

    Comenté el código, así que creo que todo debería quedar claro. Una vez más te recuerdo que en todos los archivos cuyo contenido no quieras mostrar a usuarios no autorizados, debes escribir session_start, y bueno, probablemente eso sea todo. Si tienes dudas, pregunta en los comentarios. ¡Buena suerte!

    ¡Hola! Ahora intentaremos implementar el registro más simple en el sitio usando PHP + MySQL. Para hacer esto, Apache debe estar instalado en su computadora. El principio de funcionamiento de nuestro script se muestra a continuación.

    1. Comencemos creando una tabla de usuarios en la base de datos. Contendrá los datos del usuario (nombre de usuario y contraseña). Vayamos a phpmyadmin (si estás creando una base de datos en tu PC http://localhost/phpmyadmin/). Creamos una tabla de usuarios, tendrá 3 campos.

    Yo lo creo en la base de datos mysql, tu puedes crearlo en otra base de datos. A continuación, establezca los valores como en la figura:

    2. Se requiere una conexión a esta mesa.

    Creemos un archivo bd.php. Su contenido:

    Guarde bd.php.
    ¡Excelente! Tenemos una tabla en la base de datos y una conexión a ella. Ahora puedes empezar a crear una página en la que los usuarios dejarán sus datos.

    3. Cree un archivo reg.php con el contenido (todos los comentarios dentro):



    Registro


    Registro


    Su inicio de sesión:




    Tu contraseña:








    4. Cree un archivo que ingresará datos en la base de datos y guardará al usuario. save_user.php (comentarios dentro):

    5. ¡Ahora nuestros usuarios pueden registrarse!




    A continuación, debe crear una "puerta" para que los usuarios ya registrados ingresen al sitio. index.php (comentarios dentro):


    A continuación, debe crear una "puerta" para que los usuarios ya registrados ingresen al sitio. index.php (comentarios dentro):


    Su inicio de sesión:


    Tu contraseña:






    pagina de inicio



    Registro

    ¡Pues eso es todo! La lección puede resultar aburrida, pero muy útil. Aquí solo se muestra la idea de registro, luego puedes mejorarla: agregar seguridad, diseño, campos de datos, cargar avatares, cerrar sesión en tu cuenta (para hacer esto, simplemente destruye las variables de la sesión con la función de desarmar) y pronto. ¡Buena suerte!



    
    Desplazarse hacia arriba