Libro de Visitas Gratis
Inicio | Directorio de Páginas | Diseño Gráfico | Gadgets | Posicionamiento | Webmasters| Buscador de Artículos | Glosarios

Validar [Matriz/MySQL]

Añade Tu Web Al Directorio de NocionDigital.com
En este artículo desarrollaremos dos simples maneras de validar usuarios, la primera es realizándolo mediante un array(), lo cual nos facilita trabajar con un solo archivo .php sin necesidad de acceder y comprobar los datos desde ninguna otra fuente. La segunda es el mismo script aplicado a una conexión con una base de datos MySQL.

Ambos scripts necesitan de la siguiente "entrada", la cual envía mediante GET los datos del usuario, sobra decir que el pasar esta información, se puede hacer de varias maneras, desde el almacenamiento de los datos en una cookie, en una sesión o incluso en un archivo de log. Sin embargo para efectos didácticos el siguiente código aplica perfectamente.

<html>
<body>
<form action="ValMatriz.php" method="get">
Usuario:
<input name="usuario" type="text" id="usuario">
Contrase&ntilde;a:
<input name="contrasena" type="text" id="contrasena">
<input type="submit" name="Submit" value="Continuar">
</form>
</body>
</html>


Lo único que habría que alterar es la tercera línea, dependiendo del script que se desee utilizar.
A continuación el script que realiza la validación por si mismo...

ValMatriz.php

<?
$usuarios = array(
#Usuario #Contraseña
"hans" => "hans23",
"kaiser" => "kaiser23",
"tangalanga" => "julio23",
//"nuevo" => "usuario",
);

$val = 0;
while (list($user, $pass) = each($usuarios)) {
if($user==$usuario
&& $pass==$contrasena){
$val++;
}
}
if($val == 0){
?>
<center><font color="#FF0000" size="1" face="Arial"><b>ACCESO DENEGADO</b></font></center>
<?
exit();
}
?>


A continuación la versión que trabaja con MySQL:

ValMySQL.php


<?
$db = mysql_connect("localhost","root","root");
mysql_select_db("testings",$db);
$leer = mysql_query("SELECT
* FROM usuarios WHERE user=`$usuario` AND pass=`$contrasena`",$db);
$val = mysql_num_rows($leer);
if($val == 0){
?>
<center><font color="#FF0000" size="1" face="Arial"><b>ACCESO DENEGADO</b></font></center>
<?
exit();
}
mysql_free_result($leer);
mysql_close($db);
?>


La tabla MySQL "usuarios" podría ser:

CREATE TABLE
usuarios (
user varchar(255) NOT NULL,
pass varchar(255) NOT NULL
) TYPE=MyISAM;


Ambos scripts (ValTXT.php y ValMySQL.php) pueden ser llamados a la acción desde cualquier página .php con la siguiente línea:

<?include(`ValMatriz.php`)?>


o bien

<?include(`ValMySQL.php`)?>


Y lo que hacen es comprobar la veracidad de los datos, si tal procedimiento no es cumplido a cabalidad la ejecución del script se detiene, obviamente impidiendo ver los contenidos del sitio o la página protegida.

Para los más principiantes quizás surja la pregunta:
¿Continuando con GET como podría pasar los datos de página a página?

Bueno lo más ideal seria utilizar algún otro método, ya que pasarlos datos por GET es un poco ambiguo e inseguro, pero en fin, se podrían pasar link a link las dos variables de PHP, poniéndolas
en los URL dependientes de la validación, por ejemplo:

<a href="libros.php?usuario<?=$usuario?>&contrasena<?=$contrasena?>">Libros</a>
 
Hits
DOCUMENTOS RELACIONDOS
1129
Icono de la web en.
1462
Confirmar acción con JavaScript.
1244
Generador de contraseñas.
2410
Cargar archivos Flash aleatoriamente.
1684
Efecto de flash en el borde de la tabla.
2955
Las variables GLOBALES.
2172
Listar todos los ficheros de un directorio.
1492
Imágen temblando.
3434
Extraer e-mails de un texto.
1885
Filtro de colores para imágenes.
1176
Cambio de color letra por letra.
2763
Saber el Sistema Operativo del visitante.
1920
Estudio comparativo de funciones PHP.
1781
Una pequeña animación en el momento de abrir una nueva ventana..
1353
Resaltar la palabra buscada.
1017
Chequear que exista un fichero.
1700
Aceptar "terminos y condiciones" de una web.
1661
Paginar resultados de un SELECT.
1200
Saber los usuarios activos en la web.
1463
Función para crear archivos.


www.nociondigital.com - Todo para un mundo digital. Páginas Webs, Buscadores y Webmasters....