Tecnología

Inicio

Cómo escribir un script PHP Login

Con el uso de una base de datos MySQL, puede escribir una secuencia de comandos con el PHP: Hypertext Preprocessor, mejor conocida como lenguaje PHP, para permitir que los usuarios inicien sesión en su sitio web. Las personas con las credenciales correctas tendrán acceso a contenidos que el usuario medio no puede ver. Este script PHP no requiere descargar e instalar sistemas de gestión de los contenidos complejos a su servidor.

Instrucciones

crear tablas

1 Entre para phpMyAdmin (o en otro panel de control de la base de datos MySQL) a través de su centro de control de sitio web para crear una tabla de base de datos para la información del usuario. Haga clic en el nombre de la base de datos que desea utilizar y seleccione la pestaña "SQL".

2 Copiar y pegar el siguiente en el área de texto, poniendo de relieve el texto, al pulsar la tecla "Ctrl" + "C" para copiar y escribiendo "Ctrl" + "V" para pegar en la caja.

Crear una tabla de members (
id int (4) NOT NULL AUTO_INCREMENT,
username varchar (65) NOT NULL DEFAULT '',
password varchar (65) NOT NULL DEFAULT '',
PRIMARY KEY ( id )
) TYPE = MyISAM AUTO_INCREMENT = 2;

-
- Vertido de datos para la tabla de members
-

INSERT INTO members VALUES (1, 'John', '1234');

3 Pulse el botón "Go" para ejecutar la consulta SQL. Esto crea una tabla que albergará los identificadores de usuario, nombres de usuario y contraseñas. La consulta instruye a la mesa para crear un usuario de prueba con la identificación de "1", el nombre de usuario "john" y la contraseña "1234"

4 Añadir usuarios adicionales a su base de datos utilizando la misma sintaxis de consulta que antes:

INSERT INTO members VALUES (1, 'John', '1234');

Cambiar los valores de nombre de usuario y la contraseña a sus credenciales deseados. Cambie el valor de ID por lo que aumenta un dígito sobre el ID anterior.

5 Pulse el botón "Go" para ejecutar la consulta y añadir usuarios a su base de datos.

crear Páginas

6 Abra un editor de texto o HTML como Bloc de notas para crear el registro en la página web. Puede editar una página existente desde su sitio. Seleccione "Archivo" y "Abrir" para localizar un archivo existente o seleccione "Archivo" y "Nuevo" para comenzar con una nueva página de la marca. Si usted está comenzando con una nueva página, debe incluir la apertura y el cierre del HTML, el título, la cabeza y etiquetas del cuerpo para que funcione correctamente.

7 Pegue el siguiente margen de beneficio en el área donde desea que el registro en la casilla para mostrar:

<Table width = "300" border = "0" align = "center" cellpadding = "0" cellspacing = "1" bgcolor = "# CCCCCC">
<Tr>
<Form name = método de "Form1" = "post" action = "checklogin.php">
<Td>
<Table width = "100%" border = "0" cellpadding = espaciado de celda "3" = "1" bgcolor = "# FFFFFF">
<Tr>
<Td colspan = "3"> <strong> Acceso de usuario </ strong> </ td>
</ Tr>
<Tr>
<Td width = "78"> Nombre de usuario </ td>
<Td width = "6"> </ td>
<Td width = "294"> <input name = tipo "miusuario" = "text" id = "miusuario"> </ td>
</ Tr>
<Tr>
<Td> Contraseña </ td>
<Td> </ td>
<Td> <input name = tipo "micontraseña" = "text" id = "micontraseña"> </ td>
</ Tr>
<Tr>
<Td> </ td>
<Td> </ td>
<Td> <input type = "submit" name = "Enviar" value = "Inicio de sesión"> </ td>
</ Tr>
</ Table>
</ Td>
</ Form>
</ Tr>
</ Table>

8 Seleccione "Archivo" y "Guardar" para guardar la página Web. Tipo "main_login.php" en el diálogo. Asegúrese de que "todos los archivos" o "Todos los Tipos de archivo" está activo en el menú desplegable. Puede cerrar este archivo.

9 Crear otro nuevo archivo, seleccione "Archivo" y "Nuevo". Pegue lo siguiente en su editor de texto.

<? Php
$ Host = "localhost"; // Nombre de anfitrión
$ Usuario = ""; // Nombre de usuario MySQL
$ Password = ""; // Contraseña de MySQL
$ Nombre_base_de_datos = "prueba"; // Nombre de la base de datos
$ Nombre_de_tabla = "miembros"; // Nombre de la tabla

// Conectar con el servidor y seleccione DATABSE.
mysql_connect ( "$ host", "$ nombre de usuario", "$ password") or die ( "No se puede conectar");
mysql_select_db ( "$ nombre_base_de_datos") or die ( "No se puede seleccionar BD");

// Nombre de usuario y la contraseña enviada de forma
$ Miusuario = $ _POST [ 'miusuario'];
$ MICONTRASEÑA = $ _POST [ 'MICONTRASEÑA'];

// Para proteger la inyección de MySQL (más detalles acerca de la inyección de MySQL)
$ Miusuario = stripslashes ($ miusuario);
$ = Micontraseña stripslashes ($ micontraseña);
$ Miusuario = mysql_real_escape_string ($ miusuario);
$ MICONTRASEÑA = mysql_real_escape_string ($ micontraseña);

$ Sql ​​= "SELECT * FROM $ nombre_tabla WHERE nombre = '$ miusuario' y la contraseña = '$ MICONTRASEÑA'";
$ Resultado = mysql_query ($ sql);

// Mysql_num_row está contando fila de la tabla
$ Count = mysql_num_rows ($ resultado);
// Si el resultado coincide $ miusuario y $ micontraseña, fila de la tabla debe ser de 1 fila

if ($ count == 1) {
// Registrar $ miusuario, $ micontraseña y redirigir al archivo "login_success.php"
session_register ( "miusuario");
session_register ( "micontraseña");
header ( "Lugar: login_success.php");
}
else {
echo "Nombre de usuario o contraseña incorrecto";
}
?>

10 Cambiar los valores de $ host, $, nombre de usuario, contraseña $, $ y $ nombre_base_de_datos nombre_de_tabla a sus credenciales de base de datos para permitir que el guión funcione. Muchas bases de datos MySQL utilizan el locaton "localhost", que se proporciona en este script. Escriba su nombre de usuario de base de datos, contraseña, nombre de base de datos y nombre de tabla entre las comillas, respectivamente.

Guarde el archivo como "checklogin.php" y cerrarla.

Subir Páginas

11 Vaya a su panel de control de hosting en su navegador web o abrir un cliente (protocolo de transferencia de archivos) FTP como Filezilla en el equipo. La introducción del nombre de usuario, contraseña y servidor FTP (si procede) en los campos correspondientes. Haga clic en "Entrar" o "Conectar".

12 Seleccione la utilidad de carga en el gestor de archivos del panel de control para localizar los tres archivos PHP. Seleccione los archivos (pulse la tecla "Ctrl" mientras hace clic para seleccionar varios archivos si se puede, de lo contrario repita este paso para todos los archivos) y pulse "Aceptar" para cargar los archivos. Vaya a la carpeta que contiene los archivos en el "local" panel de su cliente FTP y haga clic y arrastre los archivos en el "remoto" (sitio) panel para subirlos.

13 Introduzca la URL para "main_login.php" para probar el script. La dirección será similar a "http://yourdomain.com/main_login.php." Introduzca nombre de usuario "john" y la contraseña "1234" si se han introducido en la tabla de base de datos. De lo contrario, introduzca otro nombre de usuario y la contraseña que ha añadido.

Si la secuencia de comandos funciona, se le redirige a "login_success.php."

14 Vuelva a comprobar sus credenciales de base de datos si el guión no se puede conectar. Si la secuencia de comandos no funciona, se mostrará una explicación (acceso denegado debido a la contraseña, etc.).

modificaciones

15 Escriba lo siguiente en "checklogin.php" si está ejecutando la versión más reciente de PHP (PHP5).

<? Php
ob_start ();
$ Host = "localhost"; // Nombre de anfitrión
$ Usuario = ""; // Nombre de usuario MySQL
$ Password = ""; // Contraseña de MySQL
$ Nombre_base_de_datos = "prueba"; // Nombre de la base de datos
$ Nombre_de_tabla = "miembros"; // Nombre de la tabla

// Conectar con el servidor y seleccione DATABSE.
mysql_connect ( "$ host", "$ nombre de usuario", "$ password") or die ( "No se puede conectar");
mysql_select_db ( "$ nombre_base_de_datos") or die ( "No se puede seleccionar BD");

// Definir $ miusuario y $ MICONTRASEÑA
$ Miusuario = $ _POST [ 'miusuario'];
$ MICONTRASEÑA = $ _POST [ 'MICONTRASEÑA'];

// Para proteger la inyección de MySQL (más detalles acerca de la inyección de MySQL)
$ Miusuario = stripslashes ($ miusuario);
$ = Micontraseña stripslashes ($ micontraseña);
$ Miusuario = mysql_real_escape_string ($ miusuario);
$ MICONTRASEÑA = mysql_real_escape_string ($ micontraseña);

$ Sql ​​= "SELECT * FROM $ nombre_tabla WHERE nombre = '$ miusuario' y la contraseña = '$ MICONTRASEÑA'";
$ Resultado = mysql_query ($ sql);

// Mysql_num_row está contando fila de la tabla
$ Count = mysql_num_rows ($ resultado);
// Si el resultado coincide $ miusuario y $ micontraseña, fila de la tabla debe ser de 1 fila

if ($ count == 1) {
// Registrar $ miusuario, $ micontraseña y redirigir al archivo "login_success.php"
session_register ( "miusuario");
session_register ( "micontraseña");
header ( "Lugar: login_success.php");
}
else {
echo "Nombre de usuario o contraseña incorrecto";
}

ob_end_flush ();
?>

dieciséis Cambie los valores de $ host, $ usuario, $ password, nombre_base_de_datos $ y $ nombre_de_tabla.

17 Guarde el archivo como "checklogin.php" y cerrarla. Subirlo a su servidor a través del administrador de archivos o FTP.

18 Abrir "main_login.php" y localice esta línea:

<Td> <input name = tipo "micontraseña" = "text" id = "micontraseña"> </ td>

Cambio "texto" a "contraseña" y navegadores mostrarán asteriscos (*) en lugar de caracteres de la contraseña.

19 Guardar "main_login.php" y subirlo a su sitio.

Consejos y advertencias

  • Puede editar el código para el formulario de conexión para cambiar su apariencia, siempre y cuando mantenga las etiquetas <form>, <input> y </ form> etiquetas (y atributos incluidos) intacta.
  • Su anfitrión le puede proveer con sus credenciales de base de datos si no los conoce.
  • El cifrado de contraseñas añade seguridad adicional a su guión.