Sie sind auf Seite 1von 4

Materia: Redes y Servicios de comunicación II 

Docente: Ing. Remmy Fuentes T. 
Remmy.fuentes@gmail.com 
Tipo de documento: Guía PHP – Validación de usuarios 
Como hacer una autentificación de usuario con PHP y MySQL 

El funcionamiento de este sistema es bastante simple. Básicamente tendremos 3 archivos que definirán 
el ingreso de los usuarios: 

1.‐ Un archivo HTML que contenga un formulario de ingreso. Típico formulario Usuario: Contraseña y un 
botón de ingresar. (index.html) 

2.‐ Un archivo PHP que, recibidos los datos del formulario, se conectará a la base de datos y corroborará 
que los datos existan y que estos sean correctos (validar.php) 

3.‐ Finalmente otro archivo PHP que dependiendo del resultado de la consulta hecha en validar.php nos 
mostrara la página deseada (ya sea páginas de usuarios o páginas generales). 

Paso1: Crear una página HTML (index.html) que contenga un formulario, tal como lo hicimos en  
tutoriales anteriores. El “action” del  formulario dirigirá a “validar.php“. Una nueva característica será el 
uso del tipo de contraseñas, el código de nuestro formulario quedara de esta manera: 

<form name='formulario' method='post' action='validar.php'>  
Usuario:  
  <input type='text' name='usuario'>  
<br> 
Password:  
<input type='password' name='contrasenia'> <br>  
<input type='submit' name='Registrar' value='Registrar'>  
</form>  
 
Paso2: Preparar una base de datos para nuestro uso, con el PHPMyAdmin, crearemos una base de datos 
(IDs) y luego una tabla llamada “usuario” y dentro de ella definiremos los siguientes campos: 
 
Usuario => Varchar (10) 
Clave => Varchar (10) 
Nombre => Varchar (40) 
Pagina => Varchar (15) 
EL código SQL empleado será: 
 
CREATE TABLE `usuario` ( 
  `usuario` varchar(10) default NULL, 
  `clave` varchar(10) default NULL, 
  `nombre` varchar(40) default NULL, 
`pagina` varchar(15) default NULL, 
  PRIMARY KEY  (`usuario`) 
); 
   


 
Materia: Redes y Servicios de comunicación II 
Docente: Ing. Remmy Fuentes T. 
Remmy.fuentes@gmail.com 
Tipo de documento: Guía PHP – Validación de usuarios 
Con nuestra tabla definida, procederemos a ingresar datos a la tabla, ingresaremos un usuario 
Usuario:  redes 
Clave: univalle 
Nombre: JOSE PERES 
Pagina: usuario1.php 
 
Consulta SQL: 
INSERT INTO `ids`.`usuario` (  
`usuario` , 
`clave` , 
`nombre` , 
`pagina`  

VALUES (  
'redes', 'univalle', 'Jose Peres', 'usuario1.php' 
); 
 
 Paso3: Construiremos la página en PHP que validará los datos(validar.php) recogidos a través del 
formulario: 
Para esto, crearemos una página PHP en Dreamweaver, la cual guardaremos como “validar.php” e 
insertaremos el siguiente código: 
<?php  
session_start();  
if (!isset( $_POST['usuario'] ))  
  {  
  header("Location: index.php");  
  }  
  else  
  {  
  $id = mysql_connect("localhost", "root", "1234");  
  mysql_select_db("ids", $id);  
  $consulta = "SELECT * FROM Usuario WHERE usuario = '{$_POST['usuario']}' AND clave = '{$_POST['contrasenia']}'";  
  $datos = mysql_query($consulta, $id);  
  $numDatos = @mysql_num_rows($datos);  
  } 
  if ($numDatos <= 0)  
  {  
  echo "Error: El usuario o el password no existen.<br>";  
  session_destroy(); //Es muy importante destruir la sesión, para asegurarnos que las variables queden eliminadas 
  }  
  else  
  {  
  $_SESSION["autorizacion"]="si"; 
  $_SESSION["nombre"]=" ".mysql_result($datos, 0, 2); // registro 0, campo 2, Nombre del usuario; 
header("Location:" .mysql_result($datos, 0, 3)); // registro 0, campo 3, que será la página personal del usuario  
//header("Location: usuario1.php"); 
 }  
?> 
La explicación del código es la siguiente: 
 
session_start();: Se inicia una sesión para el usuario que está ingresando a nuestra página. 
 
$_SESSION[””]=  Estas son variables de sesión que serán validas mientras la sesión exista. 


 
Materia: Redes y Servicios de comunicación II 
Docente: Ing. Remmy Fuentes T. 
Remmy.fuentes@gmail.com 
Tipo de documento: Guía PHP – Validación de usuarios 
Antes de seguir: 
 
¿Qué es una sesión? 
Cada vez que un usuario en particular visita una página de nuestra propiedad, nuestro servidor le asigna 
una sesión única, la cual se encarga de individualizar a cada usuario sobre otro que pueda estar viendo 
nuestro sitio, ya sea al mismo momento o durante cualquier otro. La individualización se realiza 
mediante la asignación de “identificadores de sesión”, los cuales son generados al azar y basándose en 
diferentes parámetros para cada caso, por lo que la probabilidad de que una identificación de sesión de 
2 usuarios distintos se repita es altamente improbable si no imposible. Esto es bastante similar al 
funcionamiento de las “cookies”, a diferencia que es un método mucho más seguro, ya que en el caso 
de las cookies, si un navegador las tiene desactivadas se imposibilita el reconocimiento del usuario, 
mientras que el método de las sesiones corre para todos por igual. 
 
PHP, así como otros lenguajes dinámicos para páginas (como JSP, ASP, etc.), nos otorga la posibilidad de 
trabajar con un vector de sesión llamado $_SESSION, el cual se adjunta al identificador ya asignado por 
el servidor. En este vector nosotros podemos definir un número interminable de variables, a las cuales 
podremos acceder desde cualquier página de nuestro sitio, sin la necesidad de pasar las variables por 
URL (los casos de POST y GET que veíamos en tutoriales anteriores). Para poder hacer uso del vector de 
sesión es necesario usar la sentencia session_start(); al inicio de cada página PHP que lo requiera. 
 
Paso 4: A continuación haremos una página PHP llamada “usuario1.php”, la cual se encargará de cargar 
la página solicitada. Lo interesante de este método, es que se puede tener una página general o también 
una página para cada usuario. 
 
Creamos nuestra página PHP e insertamos el siguiente código: 
<? 
session_start(); 
if($_SESSION["autorizacion"]!="si"){ 
header("location: index.html"); 
exit(); 
}  
?> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http‐equiv="Content‐Type" content="text/html; charset=utf‐8" /> 
<title>Untitled Document</title> 
<style type="text/css"> 
<!‐‐ 
.style1 {font‐size: x‐large} 
‐‐> 
</style></head> 
<body> 
<div align="center"><span class="style1">BIENVENIDO</span></div> 
 <? 
echo "<strong><font align='center' color='blue' size='16'><strong></font>"; 
echo $_SESSION["nombre"]." "; 
?> 
</body> 
</html> 
 
 
 Lo primero que hacemos es iniciar una sesión y preguntar si la variable “autorización" tiene el valor 
diferente de “si", en ese caso significa que no hubo una autorización y el programa nos envía 


 
Materia: Redes y Servicios de comunicación II 
Docente: Ing. Remmy Fuentes T. 
Remmy.fuentes@gmail.com 
Tipo de documento: Guía PHP – Validación de usuarios 
automáticamente a la página index.html. Este variable nos permitirá hacer un manejo de sesiones en 
cualquiera de las páginas que sigan preguntando simplemente si esta activado el valor si, y de esa forma 
mostrar el contenido autorizado. 


 

Das könnte Ihnen auch gefallen