Bienvenido
cerrar sesión
¡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 la 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/). Crear una tabla usuarios, tendrá 3 campos.
lo creo en base de datos mysql, puedes crear 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:
$db = mysql_connect("su servidor MySQL","iniciar sesión para este servidor","contraseña para este servidor");
mysql_select_db ("nombre de la base de datos a la que nos estamos conectando", $db);
?>
En mi caso se ve así:
$db = mysql_connect("localhost","usuario","1234");
mysql_select_db("mysql",$db);
?>
Ahorrar 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 contenido (todos los comentarios dentro):
4. Crea un archivo, que ingresará datos en la base de datos y guardará al usuario. guardar_usuario.php(comentarios dentro):
{
}
//si se ingresan el nombre de usuario y la contraseña, los procesamos para que las etiquetas y los scripts no funcionen, nunca se sabe lo que la gente podría ingresar
//eliminar espacios extra
$iniciar sesión = recortar($iniciar sesión);
$contraseña = trim($contraseña);
// conectarse a la base de datos
// comprueba la existencia de un usuario con el mismo login
$resultado = mysql_query("SELECCIONE la identificación DE los usuarios DONDE iniciar sesión="$login"",$db);
si (!vacío($mifila["id"])) (
exit("Lo sentimos, el inicio de sesión que ingresó ya está registrado. Ingrese otro inicio de sesión.");
}
// si no existe tal cosa, guarda los datos
$resultado2 = mysql_query("INSERTAR EN usuarios (inicio de sesión, contraseña) VALUES("$iniciar sesión","$contraseña")");
//Comprueba si hay errores
si ($resultado2=="VERDADERO")
{
echo "¡Te has registrado exitosamente! Ahora puedes ingresar al sitio. Página de inicio";
}
demás(
echo "¡Error! No estás registrado.";
}
?>
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):
// todo el procedimiento funciona en sesiones. Es donde se almacenan los datos del usuario mientras se encuentra en el sitio. ¡¡¡Es muy importante lanzarlos al principio de la página!!!
inicio_sesión();
?>
En archivo index.php Mostraremos un enlace que estará abierto sólo para usuarios registrados. Este es el objetivo del script: limitar el acceso a cualquier dato.
6. Queda un archivo con la verificación del nombre de usuario y contraseña ingresados. testreg.php (comentarios dentro):
session_start();// todo el procedimiento funciona en sesiones. Es donde se almacenan los datos del usuario mientras se encuentra en el sitio. ¡¡¡Es muy importante lanzarlos al principio de la página!!!
if (isset($_POST["login"])) ( $login = $_POST["login"]; if ($login == "") ( unset($login);) ) //ingrese el inicio de sesión ingresado por el usuario en la variable $login, si está vacía, entonces destruya la variable
if (isset($_POST["contraseña"])) ( $contraseña=$_POST["contraseña"]; if ($contraseña =="") ( unset($contraseña);) )
//coloca la contraseña ingresada por el usuario en la variable $contraseña, si está vacía, entonces destruye la variable
if (empty($login) o vacío($contraseña)) //si el usuario no ingresó un nombre de usuario o contraseña, entonces emitimos un error y detenemos el script
{
exit("¡No has ingresado toda la información, regresa y completa todos los campos!");
}
//si se ingresan el nombre de usuario y la contraseña, los procesamos para que las etiquetas y los scripts no funcionen, nunca se sabe lo que la gente podría ingresar
$iniciar sesión = stripslashes($iniciar sesión);
$iniciar sesión = htmlspecialchars($iniciar sesión);
$contraseña = stripslashes($contraseña);
$contraseña = htmlspecialchars($contraseña);
//eliminar espacios extra
$iniciar sesión = recortar($iniciar sesión);
$contraseña = trim($contraseña);
// conectarse a la base de datos
include("bd.php");// el archivo bd.php debe estar en la misma carpeta que todos los demás, si no es así, simplemente cambie la ruta
$resultado = mysql_query("SELECCIONAR * DE los usuarios DONDE iniciar sesión="$login"",$db); //recupera de la base de datos todos los datos sobre el usuario con el inicio de sesión ingresado
$mifila = mysql_fetch_array($resultado);
si (vacío($mifila["contraseña"]))
{
//si el usuario con el login ingresado no existe
}
demás(
//si existe, entonces verifica las contraseñas
if ($mifila["contraseña"]==$contraseña) (
//si las contraseñas coinciden, ¡iniciamos una sesión para el usuario! ¡Puedes felicitarlo, entró!
$_SESSION["iniciar sesión"]=$mifila["iniciar sesión"];
$_SESSION["id"]=$myrow["id"];//estos datos se utilizan muy a menudo, por lo que el usuario que ha iniciado sesión los "llevará consigo"
echo "¡Has ingresado exitosamente al sitio! Página de inicio";
}
demás(
//si las contraseñas no coinciden
Salir ("Lo sentimos, el nombre de usuario o la contraseña que ingresó son incorrectos.");
}
}
?>
OK, ¡todo terminó ahora! La lección puede resultar aburrida, pero muy útil. Aquí solo se muestra la idea de registro, luego puedes mejorarla: agregar protección, diseño, campos de datos, cargar avatares, cerrar sesión en la cuenta (para hacer esto, simplemente destruye las variables de la sesión con la función desarmado) etcétera. ¡Buena suerte!
¡Revisé todo, funciona correctamente!
Gran parte de los sitios web tienen un formulario de registro para que sus usuarios se registren y así puedan beneficiarse de algún tipo de privilegio dentro del sitio. En este artículo veremos cómo crear un formulario de registro en PHP y MySQL.
Usaremos etiquetas simples y también usaremos etiquetas de tabla para diseñar la página web Sign-Up.html. Empecemos:
Listado 1: registrarse.html
Figura 1:
Como puede ver en la Figura 1, hay un formulario de registro y solicita algunos datos sobre el usuario. Estos son los datos comunes que cualquier sitio web solicita a sus usuarios o visitantes para crear una identificación y contraseña. Usamos la etiqueta de tabla porque para mostrar los campos del formulario en la página web en un formulario organizado como puede verlos en la Figura 1. Parece muy simple porque todavía no usamos el estilo CSS, ahora usemos estilos CSS y vinculemos el Archivo de estilo CSS con la página web sing-up.html.
Listado 2: estilo.css
/*Archivo CSS para la página web de registro*/ #body-color( color de fondo:#6699CC; ) #Sign-Up( imagen de fondo:url("sign-up.png"); tamaño de fondo:500px 500px ; repetición de fondo: sin repetición; posición de fondo: centro; margen inferior: 150 px; margen izquierdo: 450 px; fondo: #FF00FF; peso de fuente: negrita; tamaño de fuente: 20 px;
Listado 3: Vincula style.css con la página web sign-up.html
Figura 2:
En el archivo CSS externo utilizamos algunos estilos que podrían parecer nuevos para usted. Como usamos una imagen de fondo y la configuramos en el centro de la página web. Lo cual se vuelve fácil de usar con la ayuda de la etiqueta html div. Como usamos tres identificaciones de etiquetas div. #button, #sing-up y #body-color y les aplicamos todos los estilos CSS y ahora puedes ver en la Figura 2 lo hermoso y atractivo que se ve. Puede utilizar muchos otros estilos CSS, como estilos CSS 2D y 3D. Se verá más hermoso de lo que parece ahora.
Después de todos estos trabajos simples, ahora vamos a crear una base de datos y una tabla para almacenar todos los datos en la base de datos de nuevos usuarios. Antes de crear una tabla, debemos saber qué requerimos del usuario. A medida que diseñamos el formulario, crearemos la tabla de acuerdo con el formulario de registro que puede ver en las Figuras 1 y 2.
Listado 3: Consulta de tabla en MySQL
CREAR TABLA Usuarios del sitio web (ID de usuario int(9) NOT NULL auto_increment, nombre completo VARCHAR(50) NOT NULL, nombre de usuario VARCHAR(40) NOT NULL, correo electrónico VARCHAR(40) NOT NULL, pase VARCHAR(40) NOT NULL, CLAVE PRIMARIA (ID de usuario) );
Una cosa que debes saber es que si no tienes la función MySQL para usar esta consulta, debes seguir mi artículo anterior sobre . desde este enlace podrás entender la instalación y requisitos. ¿Y cómo podemos usarlo?
En la consulta del listado 3 utilizamos todas aquellas cosas que necesitamos para el formulario de registro. Como hay variables de correo electrónico, nombre completo, contraseña y nombre de usuario. Estas variables almacenarán datos del usuario, que ingresará en el formulario de registro en la Figura 2 para el registro.
Después de todos estos trabajos, vamos a trabajar con la programación PHP, que es un lenguaje de programación del lado del servidor. Por eso es necesario crear una conexión con la base de datos.
Listado 4: Conexión de base de datos
Creamos una conexión entre la base de datos y nuestras páginas web. Pero si no sabe si funciona o no, use una cosa más en la última lista de verificación 5.
Listado 5: comprobando la conexión de conectividad de la base de datos
En el Listado 5 intenté mostrarle que puede verificar y confirmar la conexión entre la base de datos y PHP. Y una cosa más: no usaremos el código del Listado 5 en nuestra página web de registro. Porque es sólo para que entiendas cómo puedes comprobar la conexión MySQL.
Ahora escribiremos una aplicación de programación PHP para verificar primero la disponibilidad del usuario y luego almacenarlo si es un usuario nuevo en la página web.
Listado 6: conectividad-registro.php
En esta aplicación PHP utilicé la forma más sencilla de crear una aplicación de registro para las páginas web. Como puede ver, primero creamos una conexión como el listado 4. Y luego usamos dos funciones, la primera función es SignUP(), que es llamada por la declaración if de la última aplicación, donde primero se confirma presionar el registro. botón. Si se presiona, llamará a la función SingUp y esta función utilizará una consulta de SELECT para recuperar los datos y compararlos con el nombre de usuario y el correo electrónico que actualmente ingresa el usuario. Si el nombre de usuario y el correo electrónico ya están presentes en la base de datos, dirá lo siento, ya está registrado.
Si el usuario es nuevo, su nombre de usuario actual y su ID de correo electrónico no están presentes en la base de datos, la declaración If llamará a NewUser() donde almacenará toda la información del nuevo usuario. Y el usuario pasará a formar parte de la página web.
figura 3
En la figura 3, el usuario ingresa datos para registrarse si es un usuario antiguo de esta página web según los registros de la base de datos. Entonces, la página web mostrará un mensaje de que el usuario ya está registrado si el usuario es nuevo, por lo que la página web mostrará un mensaje de que el registro del usuario se completó.
Figura 4:
A medida que ingresamos datos en el formulario de registro (Figura 4), de acuerdo con la base de datos, el nombre de usuario y el correo electrónico que ingresamos en el formulario de registro para el registro ya están presentes en la base de datos. Entonces deberíamos probar un nuevo nombre de usuario y dirección de correo electrónico para registrarnos con una nueva identificación y contraseña.
Figura 5
En la figura 5, nos confirma qué nombre de usuario e identificación de correo electrónico ha ingresado el usuario. Ambos no están presentes en los registros de la base de datos. Entonces, ahora se crea una nueva ID y contraseña y el usuario puede usar su nueva ID y contraseña para iniciar sesión la próxima vez.
En este artículo aprendimos la forma más sencilla de crear una página web de registro. También aprendimos cómo se maneja la base de datos si usamos PHP y MySQL. Intenté brindarle conocimientos básicos sobre la funcionalidad de la página web de registro. Cómo funciona en la parte trasera y cómo podemos cambiar su apariencia en la parte delantera. Para cualquier consulta no dudes y comenta.
En los últimos años, el alojamiento web ha experimentado un cambio dramático. Los servicios de alojamiento web han cambiado la forma en que funcionan los sitios web. Hay varios tipos de servicios, pero hoy hablaremos de las opciones que están disponibles para los proveedores de hosting revendedor. Son alojamiento de revendedor de Linux y alojamiento de revendedor de Windows. Antes de comprender las diferencias fundamentales entre los dos, descubramos qué es el alojamiento de revendedor.
Alojamiento para revendedores
En términos simples, el alojamiento de revendedor es una forma de alojamiento web en el que el propietario de una cuenta puede utilizar su espacio dedicado en el disco duro y el ancho de banda asignado con el fin de revenderlos a sitios web de terceros. A veces, un revendedor puede alquilar un servidor dedicado de una empresa de alojamiento (Linux o Windows) y alquilarlo a terceros.
La mayoría de los usuarios de sitios web utilizan Linux o Windows. Esto tiene que ver con el tiempo de actividad. Ambas plataformas garantizan que su sitio web esté activo el 99% del tiempo.
1.Personalización
Una de las principales diferencias entre un plan de hosting para revendedores de Linux y el proporcionado por Windows es la personalización. Si bien puedes experimentar con ambos reproductores de varias maneras, Linux es mucho más personalizable que Windows. Este último tiene más funciones que su contraparte y es por eso que muchos desarrolladores y administradores consideran que Linux es muy fácil de usar.
2. Aplicaciones
Los diferentes servicios de hosting para revendedores tienen diferentes aplicaciones. Tanto Linux como Windows tienen su propia variedad de aplicaciones, pero este último tiene una ventaja en cuanto a números y versatilidad. Esto tiene que ver con la naturaleza de código abierto de Linux. Cualquier desarrollador puede cargar su aplicación en la plataforma Linux y esto la convierte en un proveedor de alojamiento atractivo para millones de propietarios de sitios web.
Sin embargo, tenga en cuenta que si utiliza Linux para alojamiento web pero al mismo tiempo utiliza las ventanas OS, es posible que algunas aplicaciones simplemente no funcionen.
3.Estabilidad
Si bien ambas plataformas son estables, Linux Reseller Hosting es más estable de las dos. Al ser una plataforma de código abierto, puede funcionar en varios entornos. Esta plataforma se puede modificar y desarrollar de vez en cuando.
4. Compatibilidad .NET
No es que Linux sea superior a Windows en todos los sentidos posibles. Cuando se trata de compatibilidad con .NET, Windows se roba la atención. Las aplicaciones web se pueden desarrollar fácilmente en una plataforma de alojamiento de Windows.
5. Ventajas de costos
Ambas plataformas de alojamiento son asequibles. Pero si tiene problemas de liquidez, entonces debería optar por Linux. Es gratuito y es por eso que tantos desarrolladores y administradores de sistemas en todo el mundo lo optan.
6. Facilidad de configuración
Windows es más fácil de configurar que su contraparte. Dicho y hecho, Windows aún conserva su facilidad de uso todos estos años.
7.Seguridad
Opte por el alojamiento de revendedor de Linux porque es más seguro que Windows. Esto es especialmente cierto para las personas que dirigen sus negocios de comercio electrónico.
Conclusión
Elegir entre los dosDependerá de sus requisitos y de la flexibilidad de costos. Ambos servicios de hosting tienen ventajas únicas. Si bien Windows es fácil de configurar, Linux es rentable, seguro y más versátil.
Sinceramente, he tenido este blog durante mucho tiempo y he estado rebotando en diferentes redes publicitarias en el pasado. Después de eliminar los bloques de anuncios de esa empresa que me engañaba, volví al punto de partida. También debo señalar que Nunca me gustó mucho el producto AdSense de Google, sólo porque se siente como el "fondo del barril" de los anuncios gráficos, no desde una perspectiva de calidad, sino desde una perspectiva de ingresos.
Por lo que tengo entendido, usted quiere publicidad de Google en su sitio, pero también quiere que otras grandes empresas y agencias lo hagan también. De esa manera maximizas la demanda y los ingresos.
Después de mi experiencia negativa, recomendé una empresa llamada Newor Media. Y si soy honesto, al principio no me convencieron principalmente porque no pude encontrar mucha información sobre ellos. Encontré un par de reseñas decentes en otros sitios, y después de hablar con alguien allí, decidí intentarlo. Diré que son SUPER útiles. Todas las redes con las que he trabajado han sido bastante cortas conmigo en términos de respuestas y puesta en marcha. Respondieron todas las preguntas y fue un proceso realmente alentador.
He estado publicando los anuncios durante algunos meses y las ganancias están en línea con lo que estaba ganando con la otra empresa. Así que realmente no puedo decir si son mucho mejores que otras, pero sí dónde se destacan. Es un punto que realmente quiero resaltar. La comunicación con ellos no se parece a ninguna otra red en la que haya trabajado. Aquí hay un caso en el que realmente son diferentes:
Me enviaron el primer pago a tiempo con Paypal. Pero como no estoy en los EE. UU. (y creo que esto le sucede a todos), me descontaron una tarifa de Paypal. Le envié un correo electrónico a mi representante al respecto y le pregunté si había alguna manera de evitarlo en el futuro.
Dijeron que no podían evitar la tarifa, pero que REEMBOLSARÍAN TODOS LOS HONORARIOS.... ¡INCLUYENDO EL PAGO MÁS RECIENTE! ¡No solo eso, sino que el pago del reembolso se recibió en 10 MINUTOS!¿Cuándo ha podido realizar una solicitud como esa sin tener que remitirla al "departamento de finanzas" para luego no recibir respuesta?
La conclusión es que amo esta empresa. Quizás pueda ganar más en otro lugar, no estoy muy seguro, pero tienen un editor de por vida conmigo. No soy un sitio enorme y no genero muchos ingresos, pero me siento como un Un cliente muy importante cuando hablo con ellos, sinceramente, es un soplo de aire fresco en una industria plagada de fraude y falta de respuesta.
Las microcomputadoras creadas por la Fundación Raspberry Pi en 2012 han tenido un gran éxito a la hora de generar niveles de creatividad en los niños pequeños y esta empresa con sede en el Reino Unido comenzó a ofrecer programas de inicio para aprender a codificar como pi-top y Kano. Ahora hay una nueva startup que utiliza la electrónica Pi y el dispositivo se conoce como Pip, una consola portátil que ofrece una pantalla táctil, múltiples puertos, botones de control y parlantes. La idea detrás del dispositivo es atraer a los más jóvenes con un dispositivo de juego que sea retro pero que también ofrezca una experiencia de aprendizaje de códigos a través de una plataforma basada en web.
La increíble plataforma de software que se ofrece con Pip ofrecerá la oportunidad de comenzar a codificar en Python, HTML/CSS, JavaScript, Lua y PHP. El dispositivo ofrece tutoriales paso a paso para que los niños comiencen a codificar y les permite incluso hacer que los LED parpadeen. Si bien Pip es todavía un prototipo, seguramente será un gran éxito en la industria e involucrará a los niños interesados en la codificación y les brindará la educación y los recursos necesarios para comenzar a codificar a una edad temprana.
Si necesita que una de las secciones de su sitio web sea accesible a un círculo limitado pero no especificado de personas, la forma más sencilla de hacerlo es registrando y autorizando a los usuarios. Hay muchas formas de autorizar a los usuarios. Puede utilizar tanto herramientas de servidor web como herramientas de lenguaje de programación. Hablaremos del caso en el que se utilizan sesiones PHP.
Probablemente te gustaría ver una forma más moderna de crear esta forma. Todavía no tengo planes de presentarlo completamente de una manera moderna y relevante, pero puedes ver que el formulario de comentarios se puede construir usando técnicas orientadas a objetos en PHP.
Primero, analicemos todos los pasos que daremos a continuación. ¿Qué necesitamos? Necesitamos un script que registre al usuario, lo autorice y lo redirija a algún lugar después de la autorización. También necesitaremos crear una página que esté protegida del acceso de usuarios no autorizados. Para el registro y la autorización, necesitaremos crear formularios HTML. Almacenaremos información sobre los usuarios registrados en una base de datos. Esto significa que todavía necesitamos un script para conectarnos al DBMS. Todo nuestro trabajo se realizará mediante funciones que escribimos nosotros mismos. Guardaremos estas funciones en un archivo separado.
Entonces, necesitamos los siguientes archivos:
Todo esto no tendrá sentido si no tiene la tabla correspondiente en la base de datos. Inicie su herramienta de administración de DBMS (PhpMyAdmin o la línea de comando, lo que sea más conveniente) y ejecute la siguiente consulta en ella:
CREAR TABLA `usuarios` (`id` int(11) NOT NULL AUTO_INCREMENT, `login` char(16) NOT NULL, `contraseña` char(40) NOT NULL, marca de tiempo `reg_date` NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (` id`)) MOTOR=MyISAM CONJUNTO DE CARACTERES PREDETERMINADO=utf8 AUTO_INCREMENT=1;
Nombraré nuestros archivos de script de esta manera (todos estarán en un directorio):
Estoy seguro de que el propósito de cada uno de ellos lo tiene claro. Comencemos con el script de conexión al DBMS. Ya lo has visto. Simplemente guarde el código de este script en un archivo llamado base de datos.php. Declararemos funciones personalizadas en el archivo funciones.php. ¿Cómo funcionará todo esto? Un usuario no autorizado intenta acceder a un documento protegido index.php, el sistema verifica si el usuario está autorizado, si el usuario no está autorizado, es redirigido a la página de autorización. En la página de inicio de sesión, el usuario debería ver un formulario de autorización. Vamos a hacerlo.
registro.
Ahora nuestro formulario necesita recibir alguna forma. Al mismo tiempo, definiremos reglas para otros elementos. De cara al futuro, presentaré el contenido completo de la hoja de estilo.
/* archivo style.css */ .row (margen-inferior:10px; ancho:220px; ) .row etiqueta ( display:block; font-weight:bold; ) .row input.text ( font-size:1.2em; relleno:2px 5px; ) .to_reg (tamaño de fuente:0.9em; ) .instruction (tamaño de fuente:0.8em; color:#aaaaaa; margen izquierdo:2px; cursor:predeterminado; ) .error (color:rojo; margen izquierdo: 3px)
Si todo se hace correctamente deberías tener en tu navegador lo siguiente:
Por supuesto, todavía no tenemos un solo usuario registrado y para iniciar sesión es necesario registrarse. Hagamos un formulario de registro.
Probablemente hayas notado que hay variables PHP en el código HTML. Son el contenido de los atributos de los campos de texto de los formularios, el contenido de los contenedores diseñados para mostrar errores. Pero no hemos inicializado estas variables. Vamos a hacer eso.
// Инициализируем переменные для введенных значений и возможных ошибок $errors = array(); $fields = array(); ?>
No hay ningún parámetro especificado en el atributo de acción de la etiqueta del formulario. En este caso, al enviar los datos del formulario, se procesarán en el mismo script desde el que se enviaron. Esto significa que necesitamos escribir código que procese los datos del formulario. Pero primero analicemos el algoritmo para procesarlos.
Necesitamos que los campos de inicio de sesión y contraseña no estén vacíos. Luego debe verificar que el inicio de sesión cumpla con los requisitos. La contraseña también debe cumplir con los requisitos descritos, y la contraseña reespecificada debe coincidir y, además, deben ser idénticas. Si no se cumple alguna de estas condiciones, se debe detener el procesamiento de los datos del formulario, se debe escribir una alerta adecuada en la matriz de mensajes de error y se debe mostrar al usuario. Para comodidad del usuario, guardaremos el inicio de sesión que ingresó (si lo especificó) escribiendo su valor en la matriz $fields.
Si todo está bien, en la ventana de tu navegador, cuando accedas al documento registración.php, deberías ver algo como esto:
Ahora, digamos que el usuario hizo clic en el botón de registro y no completó los campos del formulario. Según nuestro algoritmo, el nombre de usuario y la contraseña no pueden estar vacíos. Si no se cumple esta condición, no será posible la inscripción. Tenemos en cuenta que el procesamiento de los datos del formulario se produce en el escenario actual. Esto significa que debemos cambiar su código agregando las comprobaciones apropiadas. Analicemos inmediatamente las siguientes comprobaciones. Si ha ingresado tanto un nombre de usuario como una contraseña, debe verificar que cumplan con los requisitos especificados. Para verificar el nombre de usuario y la contraseña, crearemos funciones personalizadas en el archivo funciones.php.
/** * funciones.php * Archivo con funciones personalizadas */ // Conecta el archivo con los parámetros de conexión al DBMS require_once("database.php"); // Comprobando la función de nombre de usuario checkLogin($str) ( // Inicializa una variable con un posible mensaje de error $error = ""; // Si falta la línea de inicio de sesión, devuelve un mensaje de error if(!$str) ( $error = " No ha ingresado un nombre de usuario"; return $error ) /** * Verifique el nombre de usuario usando expresiones regulares * El inicio de sesión no debe tener menos de 4 ni más de 16 caracteres * Debe contener caracteres del alfabeto latino, números, * puede contener los caracteres "_", "-", "." */ $pattern = "/^[-_.a-z\d](4,16)$/i"; ($pattern, $str) ; // Si la verificación falla, devuelve un mensaje de error if(!$resultado) ( $error = "Caracteres no válidos en el nombre de usuario o el nombre de usuario es demasiado corto (largo)"; return $error; ) // Si todo está bien, devuelve el valor verdadero return true ) // Comprobando la función de contraseña del usuario checkPassword($str) ( // Inicializa una variable con un posible mensaje de error $error = ""; // Si lo hay sin línea de inicio de sesión, devuelve un mensaje de error if(!$ str) ( $error = "No ingresó una contraseña"; devolver $error; ) /** * Verifique la contraseña del usuario usando expresiones regulares * La contraseña no debe tener menos de 6 ni más de 16 caracteres * Debe contener caracteres latinos, números, * puede contener los caracteres "_", "!", " ("", ")" */ $pattern = "/^[_!)(.a-z\d](6,16)$/i"; $resultado = preg_match($pattern, $str); // Si la verificación no pasó, devuelve un mensaje de error if(!$resultado) ( $error = "Caracteres no válidos en la contraseña del usuario o la contraseña es demasiado corta (larga)"; devuelve $error; ) // Si todo está bien, devuelve el valor verdadero devuelve verdadero;
Ahora necesitamos modificar el archivo registro.php para habilitar las funciones que declaramos. Agregaremos una condición al script que verifica si se hace clic en el botón de registro. Dentro de esta condición, se inicia una verificación de nombres de usuario y contraseñas. Si alguna de las comprobaciones falla, mostramos el formulario nuevamente y mostramos un mensaje de error. Si no hay errores, registramos al usuario, ya no mostramos el formulario de registro, informamos al usuario sobre el registro exitoso y usando la función header() lo redirigimos al formulario de autorización.
/** * registration.php * Страница регистрации пользователей. Предполагается, что в вашей * базе данных присутствует таблица пользователей users, в которой * есть поля id, login, password, reg_date */ // Подключаем файл с пользовательскими функциями require_once("functions.php"); // Инициализируем переменные для введенных значений и возможных ошибок $errors = array(); $fields = array(); // Заранее инициализируем переменную регистрации, присваивая ей ложное значение $reg = false; // Если была нажата кнопка регистрации if(isset($_POST["submit"])) { // Делаем массив сообщений об ошибках пустым $errors["login"] = $errors["password"] = $errors["password_again"] = ""; // С помощью стандартной функции trim() удалим лишние пробелы // из введенных пользователем данных $fields["login"] = trim($_POST["login"]); $password = trim($_POST["password"]); $password_again = trim($_POST["password_again"]); // Если логин не пройдет проверку, будет сообщение об ошибке $errors["login"] = checkLogin($fields["login"]) === true ? "" : checkLogin($fields["login"]); // Если пароль не пройдет проверку, будет сообщение об ошибке $errors["password"] = checkPassword($password) === true ? "" : checkPassword($password); // Если пароль введен верно, но пароли не идентичны, будет сообщение об ошибке $errors["password_again"] = (checkPassword($password) === true && $password === $password_again) ? "" : "Введенные пароли не совпадают"; // Если ошибок нет, нам нужно добавить информацию о пользователе в БД if($errors["login"] == "" && $errors["password"] == "" && $errors["password_again"] == "") { // Вызываем функцию регистрации, её результат записываем в переменную $reg = registration($fields["login"], $password); // Если регистрация прошла успешно, сообщаем об этом пользователю // И создаем заголовок страницы, который выполнит переадресацию к форме авторизации if($reg === true) { $message = "
Te has registrado exitosamente en el sistema. Ahora serás redirigido a la página de inicio de sesión. Si esto no sucede, acceda a él mediante el enlace directo.
"; header("Refresh: 5; URL = login.php"); ) // De lo contrario, informa al usuario sobre el error else ($errors["full_error"] = $reg; ) ) ) ?>Deberías haber notado otra función nueva en el script: registro(). Pero aún no lo hemos anunciado. Vamos a hacer eso.
// Función de registro de usuario function Registration($login, $password) ( // Inicializa una variable con un posible mensaje de error $error = ""; // Si no hay una línea de inicio de sesión, devuelve un mensaje de error if(!$login) ( $ error = "No se ha especificado ningún inicio de sesión"; return $error; ) elseif(!$contraseña) ( $error = "No se ha especificado ninguna contraseña"; return $error; ) // Comprobar si el usuario ya está registrado // Conéctese al DBMS connect() ; // Escribe una cadena de consulta $sql = "SELECT `id` FROM `usuarios` DONDE `login`="" . $login . """ // Realiza una consulta a la base de datos $query = mysql_query( $sql) o die( ""); // Mira el número de usuarios con este inicio de sesión, si hay al menos uno, // devuelve un mensaje de error if(mysql_num_rows($query) > 0) ( $error = " El usuario con el inicio de sesión especificado ya está registrado"; return $ error; ) // Si no existe dicho usuario, regístrelo // Escriba la cadena de consulta $sql = "INSERT INTO `users` (`id`,`login` ,`contraseña`) VALORES (NULL, "," . $iniciar sesión . " ","" . $contraseña. """; // Realizar una consulta a la base de datos $query = mysql_query($sql) o die("
No se puede agregar usuario: " . mysql_error() . ". Se produjo un error en la línea ". __LINE__".
"); // No olvide desconectarse del DBMS mysql_close(); // Devuelve el valor verdadero, lo que indica que el registro de usuario se realizó correctamente. return true; )Si todo está bien, tu usuario quedará registrado. Puedes probar el formulario. Intente registrar usuarios con los mismos inicios de sesión. Después de un registro exitoso, el usuario será redirigido al formulario de autorización. Anteriormente, simplemente creamos el marcado para mostrar este formulario. Dado que no hay ningún parámetro especificado en su atributo de acción, los datos enviados por el formulario se procesarán en el mismo script. Esto significa que debemos escribir código para procesarlo y agregarlo al documento login.php.
/** * Страница авторизации пользователей. Предполагается, * что в вашей базе данных присутствует таблица users, * в которой существуют поля id, login и password */ // Подлючаем файл с пользовательскими функциями require_once("functions.php"); // Заранее инициализируем переменную авторизации, присвоив ей ложное значение $auth = false; // Если была нажата кнопка авторизации if(isset($_POST["submit"])) { // Делаем массив сообщений об ошибках пустым $errors["login"] = $errors["password"] = $errors["password_again"] = ""; // С помощью стандартной функции trim() удалим лишние пробелы // из введенных пользователем данных $login = trim($_POST["login"]); $password = trim($_POST["password"]); // Авторизуем пользователя // Вызываем функцию регистрации, её результат записываем в переменную $auth = authorization($login, $password); // Если авторизация прошла успешно, сообщаем об этом пользователю // И создаем заголовок страницы, который выполнит переадресацию на защищенную // от общего доступа страницу if($auth === true) { $message = ""; header("Refresh: 5; URL = /"); } // Иначе сообщаем пользователю об ошибке else { $errors["full_error"] = $auth; } } ?>
Si no estás registrado en el sistema, regístrate.
} // Закрывающая фигурная скобка условного оператора проверки успешной авторизации // Иначе выводим сообщение об успешной авторизации else { print $message; } /** * Если всё правильно, будет выведено сообщение об успешной авторизации, * пользователь будет переадресован на защищенную страницу */ ?>Probablemente hayas notado que en el script de autorización ahora tenemos otra función desconocida: autorización(). Esta función debe autorizar al usuario verificando primero si existe un usuario registrado con el mismo nombre de usuario y contraseña en la base de datos. Si no se encuentra dicho usuario, se cancelará la autorización y se mostrará un mensaje de error. Si la verificación tiene éxito, la función de autorización() iniciará una sesión y escribirá los valores de inicio de sesión y contraseña del usuario en ella, informará al script que la autorización fue exitosa y el script redirigirá al usuario a una página de recursos protegida.
/** * Función de autorización de usuario. *La autorización del usuario se realizará* mediante sesiones PHP. */ autorización de función($login, $contraseña) ( // Inicializa una variable con un posible mensaje de error $error = ""; // Si no hay una línea de inicio de sesión, devuelve un mensaje de error if(!$login) ( $error = "Inicio de sesión no especificado"; return $error; ) elseif(!$contraseña) ($error = "Contraseña no especificada"; return $error; ) // Verifique si el usuario ya está registrado // Conéctese al DBMS connect( ); // Necesitamos verificar si dicho usuario se encuentra entre los registrados // Redacte una cadena de consulta $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" AND ` contraseña`="".$contraseña ."""; // Ejecutar la consulta $query = mysql_query($sql) o die("
No se puede ejecutar la consulta: " . mysql_error() . ". Se produjo un error en la línea ". __LINE__".
"); // Si no hay ningún usuario con dichos datos, devuelve un mensaje de error if(mysql_num_rows($query) == 0) ( $error = "El usuario con los datos especificados no está registrado"; return $error; ) // Si el usuario existe, inicia la sesión session_start(); // Y escribe el nombre de usuario y la contraseña en ella // Para esto usamos la matriz superglobal $_SESSION $_SESSION["login"] = $login[; "contraseña"] = $contraseña; / No olvide cerrar la conexión a la base de datos mysql_close() // Devuelve verdadero para indicar que la autorización del usuario se realizó correctamente.Cuando un usuario llega a una página protegida, debe verificar la exactitud de sus datos de autorización. Para hacer esto necesitamos otra función personalizada. Llamémoslo checkAuth() . Su tarea será verificar los datos de autorización del usuario con los almacenados en nuestra base de datos. Si los datos no coinciden, el usuario será redirigido a la página de inicio de sesión.
Función checkAuth($login, $password) ( // Si no hay nombre de usuario o contraseña, devuelve false if(!$login || !$password) return false; // Verifica si dicho usuario está registrado // Conéctate al DBMS connect(); // Componga la cadena de consulta $sql = "SELECCIONE `id` DE `usuarios` DONDE `login`="".$login."" Y `contraseña`="".$contraseña.""" // Ejecutar la consulta $ query = mysql_query($sql) o die("
No se puede ejecutar la consulta: " . mysql_error() . ". Se produjo un error en la línea ". __LINE__".
"); // Si no hay ningún usuario con dichos datos, devuelve false; if(mysql_num_rows($query) == 0) ( return false; ) // No olvides cerrar la conexión a la base de datos mysql_close(); // De lo contrario devuelve verdadero devuelve verdadero)Ahora que el usuario ha llegado a la página protegida, debemos llamar a la función para verificar los datos de autorización. Colocaremos el script de llamada y verificación en un archivo checkAuth.php separado y lo conectaremos a aquellas páginas que estarán cerradas al acceso público.
/** * Script para verificar la autorización del usuario */ // Iniciar una sesión de la cual extraeremos el nombre de usuario y la contraseña // de los usuarios autorizados session_start(); // Conecta un archivo con funciones personalizadas require_once("functions.php"); /** * Para determinar si un usuario está autorizado, necesitamos * verificar si existen registros en la base de datos para su nombre de usuario * y contraseña. Para hacer esto, usaremos la función personalizada * para verificar la exactitud de los datos del usuario registrado. * Si esta función devuelve falso, entonces no hay autorización. * Si no hay autorización, simplemente redirigimos * al usuario a la página de autorización. */ // Si la sesión contiene datos de inicio de sesión y contraseña, // verifíquelos if(isset($_SESSION["login"]) && $_SESSION["login"] && isset($_SESSION["password" ]) && $_SESSION["contraseña"]) ( // Si falla la comprobación de los datos existentes if(!checkAuth($_SESSION["login"], $_SESSION["contraseña"])) ( // Redirige al usuario al encabezado de la página de inicio de sesión( "ubicación: login.php"); // Detener la ejecución del script exit ) ) // Si no hay datos sobre el nombre de usuario o contraseña del usuario, // asumimos que no hay autorización, redirigimos al usuario // a la autorización página else ( header("ubicación: login.php"); // Detener la ejecución del script exit;
Ahora creemos el código para nuestra página segura. Será bastante sencillo.
/** * Защищенная страница. К ней возможен доступ только авторизованным * пользователям. Если пользователь не авторизован, ему предлагается * авторизоваться, и доступ к сайту ограничивается. */ require_once("checkAuth.php"); ?>
Has accedido a una página segura. Puedes cerrar sesión.
Como puede ver, en un documento protegido incluimos solo un archivo: checkAuth.php. Todos los demás archivos están conectados en otros scripts. Por lo tanto, nuestro código no parece engorroso. Organizamos el registro y autorización de usuarios. Ahora debe permitir que los usuarios cierren sesión. Para hacer esto, crearemos un script en el archivo logout.php.
/** * Script de cierre de sesión del usuario. Dado que los usuarios * inician sesión a través de sesiones, su nombre de usuario y contraseña se almacenan * en la matriz superglobal $_SESSION. Para * cerrar sesión en el sistema, simplemente destruya los valores * de la matriz $_SESSION["login"] y $_SESSION["password"], después de lo cual * redirigimos al usuario a la página de inicio de sesión */ // Ser asegúrese de iniciar la sesión session_start(); unset($_SESSION["iniciar sesión"]); unset($_SESSION["contraseña"]); encabezado("ubicación: login.php");
El script de registro, autorización y verificación de usuarios está listo. Puedes usarlo tú mismo, complementarlo o cambiarlo para adaptarlo a tus necesidades. Si tienes alguna pregunta, puedes hacerla en los comentarios. Puede descargar todos los archivos discutidos aquí, empaquetados en un solo archivo.
PD Sé que es mejor escribir código orientado a objetos, sé que no vale la pena transmitir y almacenar una contraseña en texto sin cifrar, que la información ingresada en la base de datos debe verificarse con anticipación. Lo sé. No hablaré de esto aquí.
En este tutorial, lo guío a través del proceso completo de creación de un sistema de registro de usuarios donde los usuarios pueden crear una cuenta proporcionando nombre de usuario, correo electrónico y contraseña, iniciar sesión y cerrar sesión usando PHP y MySQL. También le mostraré cómo puede hacer que algunas páginas sean accesibles sólo para usuarios que hayan iniciado sesión. Cualquier otro usuario que no haya iniciado sesión no podrá acceder a la página.
Aprende a crear un blog completo con PHP y base de datos MySQL con el mío curso gratuito en youtube.
Lo primero que tendremos que hacer es configurar nuestra base de datos.
Crea una base de datos llamada registro. En el registro base de datos, agregue una tabla llamada usuarios. La tabla de usuarios tomará los siguientes cuatro campos.
Puedes crear esto usando un cliente MySQL como PHPMyAdmin.
O puede crearlo en el indicador de MySQL utilizando el siguiente script SQL:
CREAR TABLA `usuarios` (`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `username` varchar(100) NOT NULL, `email` varchar(100) NOT NULL, `contraseña` varchar(100) NOT NULL) MOTOR =JUEGO DE CARACTERES PREDETERMINADO InnoDB=latin1;
Y eso es todo con la base de datos.
Ahora crea una carpeta llamada registro en un directorio accesible a nuestro servidor. es decir, cree la carpeta dentro de htdocs (si está utilizando el servidor XAMPP) o dentro www(si está utilizando el servidor wampp).
Dentro de la carpeta registro, cree los siguientes archivos:
Abra estos archivos en un editor de texto de su elección. El mío es Texto Sublime 3.
Abra el archivo Register.php y pegue el siguiente código en él:
registrarse.php:
Nada complicado hasta ahora ¿verdad?
Algunas cosas a tener en cuenta aquí:
Primero es que nuestro formulario acción El atributo está configurado en Register.php. Esto significa que cuando se hace clic en el botón de envío del formulario, todos los datos del formulario se enviarán a la misma página (register.php). La parte del código que recibe los datos de este formulario está escrita en el archivo server.php y es por eso que la incluimos en la parte superior del archivo Register.php.
Observe también que incluimos el archivo errores.php para mostrar errores de formulario. Llegaremos a eso pronto.
Como puede ver en la sección principal, estamos vinculando a un archivo style.css. Abra el archivo style.css y pegue el siguiente CSS en él:
* ( margen: 0px; relleno: 0px; ) cuerpo ( tamaño de fuente: 120%; fondo: #F8F8FF; ) .header ( ancho: 30%; margen: 50px auto 0px; color: blanco; fondo: #5F9EA0; texto -align: centro; borde: 1px sólido #B0C4DE; radio de borde: 10px 10px 0px 0px; formulario, .content (ancho: 30%; margen: 0px automático; relleno: 20px; borde: 1px sólido #B0C4DE; radio de borde : 0px 0px 10px 10px; .input-group (margen: 10px 0px 10px 0px;); margen: 3px; .input-group entrada (alto: 30px; ancho: 93%; relleno: 5px 10px; tamaño de fuente: 16px; ; radio del borde: 5px; borde: 1px gris sólido; ) .btn (relleno: 10px; tamaño de fuente: 15px; fondo: #5F9EA0; borde: radio del borde: 5px; ancho: 92%; margen: 0px automático; borde: 1px sólido # a94442; color: #a94442; radio del borde: 5px; alineación de texto: izquierda; antecedentes: #dff0d8; borde: 1px sólido #3c763d; margen inferior: 20px; )
Ahora la forma se ve hermosa.
Ahora escribamos el código que recibirá la información enviada desde el formulario y almacenemos (registremos) la información en la base de datos. Como prometimos anteriormente, hacemos esto en el archivo server.php.
Abra server.php y pegue este código en él:
servidor.php
Las sesiones se utilizan para realizar un seguimiento de los usuarios que han iniciado sesión, por lo que incluimos un session_start() en la parte superior del archivo.
Los comentarios en el código explican prácticamente todo, pero resaltaré algunas cosas aquí.
La declaración if determina si se hace clic en el botón reg_user en el formulario de registro. Recuerde, en nuestro formulario, el botón de enviar tiene un atributo de nombre establecido en reg_user y eso es a lo que hacemos referencia en la declaración if.
Todos los datos se reciben del formulario y se verifican para asegurarse de que el usuario haya completado correctamente el formulario. Las contraseñas también se comparan para asegurarse de que coincidan.
Si no se encontraron errores, el usuario queda registrado en el usuarios tabla en la base de datos con una contraseña hash. La contraseña hash es por razones de seguridad. Garantiza que incluso si un pirata informático logra acceder a su base de datos, no podrá leer su contraseña.
Pero los mensajes de error no se muestran ahora porque nuestro archivo errores.php todavía está vacío. Para mostrar los errores, pegue este código en el archivo errores.php.
0) : ?>
Cuando un usuario se registra en la base de datos, inicia sesión inmediatamente y se le redirige a la página index.php.
Y eso es todo en cuanto al registro. Veamos el inicio de sesión del usuario.
Iniciar sesión como usuario es algo aún más fácil de hacer. Simplemente abra la página de inicio de sesión y coloque este código dentro:
Todo en esta página es bastante similar a la página Register.php.
Ahora el código que inicia la sesión del usuario debe escribirse en el mismo archivo server.php. Entonces abra el archivo server.php y agregue este código al final del archivo:
// ... // INICIAR SESIÓN DE USUARIO if (isset($_POST["login_user"])) ( $nombre de usuario = mysqli_real_escape_string($db, $_POST["username"]); $contraseña = mysqli_real_escape_string($db, $_POST ["contraseña"]); if (empty($nombre de usuario)) ( array_push($errores, "Se requiere nombre de usuario"); ) if (empty($contraseña)) ( array_push($errores, "Se requiere contraseña"); ) if (count($errors) == 0) ( $contraseña = md5($contraseña); $query = "SELECCIONAR * DE usuarios DONDE nombre de usuario="$nombre de usuario" Y contraseña="$contraseña""; $resultados = mysqli_query ($db, $query); if (mysqli_num_rows($resultados) == 1) ( $_SESSION["nombre de usuario"] = $nombre de usuario; $_SESSION["éxito"] = "Ya ha iniciado sesión"; encabezado(" ubicación: index.php"); )else ( array_push($errors, "Combinación incorrecta de nombre de usuario/contraseña"); ) ) ) ?>Nuevamente, todo lo que esto hace es verificar si el usuario ha completado el formulario correctamente, verifica que sus credenciales coincidan con un registro de la base de datos y, si es así, inicia sesión. Después de iniciar sesión, el usuario es redirigido al archivo index.php con un mensaje de éxito.
Ahora veamos qué sucede en el archivo index.php Ábrelo y pega el siguiente código en él:
Bienvenido
cerrar sesión
La primera declaración if verifica si el usuario ya inició sesión. Si no han iniciado sesión, serán redirigidos a la página de inicio de sesión. Por lo tanto, esta página solo es accesible para usuarios registrados. Si desea que cualquier página sea accesible solo para usuarios registrados, todo lo que tiene que hacer es colocar esta declaración if en la parte superior del archivo.
La segunda declaración if verifica si el usuario ha hecho clic en el botón de cerrar sesión. En caso afirmativo, el sistema cierra la sesión y los redirige a la página de inicio de sesión.
Ahora continúa, personalízalo según tus necesidades y crea un sitio increíble. Si tienes alguna inquietud o necesitas aclarar algo, déjalo en los comentarios a continuación y te llegará ayuda.
Siempre puedes apoyar compartiendo en las redes sociales o recomendando mi blog a tus amigos y colegas.