Vous êtes sur la page 1sur 11

Autenticacin de usuarios con PHP y MySQL sin programar nada Manejo de sesiones

septiembre 2, 2009 a las 6:18 pm | Escrito en PHP, Programacion | 68 comentarios Etiquetas: autenticacion, dreamweaver, manejo, mysql, php, sesiones, usuarios, validar

Pues es verdad, te voy a explicar cmo restringir el acceso a una pgina web mediante un usuario y contrasea o manejo de sesiones que estn en una base de datos de MySQL sin que programes una sola lnea de cdigo. Esto no significa que no necesites saber programacin PHP, lo necesitas pero aqu te dar algunos pasos para que hagas todo ms rpido y si conoces PHP pues lo mejores a tu gusto. Las herramientas que vamos a utilizar son: o o o Wamp Server Dreamweaver 8.0 o superior Mozilla Firefox o Internet Explorer o cualquier otro navegador

Una vez que tengamos instalado nuestro servidor web, en este caso Wamp Server vamos a proceder a explicar este tutorial. Primero crearemos una base de datos, en este caso se llama manejo_usuarios sta contiene una tabla llamada usuarios con dos campos: user y password. Podemos agregar dos registros para hacer la prueba. Puedes crear la base usando phpMyAdmin que trae el propio WAMP. Entonces tenemos algo as:

Clic en la imagen para ampliar Una vez creada la base de datos vamos a crear las pginas web, vamos a necesitar para esta prueba 3 pginas PHP. Recuerda guardarlas en la ruta C:\wamp\www para poder visualizarlas. Bueno de hecho al abrir Dreamweaver (en este caso usar la versin CS) antes de crear cualquier archivo debemos ir al men Sitio -> Nuevo sitio. Yo dentro de la ruta C:\wamp\www cre una carpeta llamada UsuariosenPHP y dentro una carpeta llamada images. Respecto a esto ltimo hay que destacar que todas las imgenes que insertes en el sitio desde cualquier ruta se copiar automticamente a la carpeta images. Entonces llenamos con los datos necesarios: o o Nombre del sitio: Le puedes poner cualquier nombre Carpeta raz local: Aqu escogemos la carpeta donde est el sitio, en mi caso C:\wamp\www\UsuariosenPHP o Carpeta predeterminada de imgenes: La ruta de la carpeta que creamos antes C:\wamp\www\UsuariosenPHP\images Entonces nos queda algo as:

Clic en la imagen para ampliar Ahora dentro de la misma ventana nos vamos a Servidor de pruebas, en Modelo de servidor seleccionamos PHP MySQL y en Acceso escogemos Local/Red. En Carpeta de servidor escogemos la ruta del WAMP, en este caso C:\wamp y en prefijo del URL escogemos la ruta con la que cargaremos nuestro sitio web, para este caso sera: http://localhost/UsuariosenPHP/.

Nota: Si usas otro servidor web como XAMPP tienes que cambiar esas rutas. Entonces nos queda algo as:

Clic en la imagen para ampliar Damos clic en Aceptar. No olvides realizar este paso o tendrs problemas ms adelante. Ahora crearemos las pginas web. Como mencion antes sern 3 pginas web sencillas las que necesitamos para esta prueba: o index.php > Esta pgina ser la principal, tendr un ttulo y un enlace a la pgina ingreso.php o ingreso.php > Tendr un formulario donde se ingresar el usuario y la contrasea para autenticarse. o entrar.php > Es la pgina donde ingresaremos si la autenticacin fue exitosa.

Ahora veamos qu tiene cada pgina: o

index.php

Tendr nicamente un ttulo y un enlace a la pgina ingreso.php como se muestra en la siguiente figura:

Clic en la imagen para ampliar o

ingreso.php

Esta pgina contendr un formulario que pida el nombre de usuario y la contrasea. El campo de texto del usuario se llamar usuario (sin comillas) y el campo de texto del password se llamar contrasena (sin comillas). Entonces tenemos algo as:

Clic en la imagen para ampliar o

entrar.php

Esta pgina tiene un ttulo, tiene una tabla que dir el nombre del usuario que accedi y tendr un link que diga Desconectar que permitir cerrar la sesin (ya explicar cmo hacer eso):

Clic en la imagen para ampliar Antes de validar los usuarios (que es lo que nos interesa) debemos hacer algo en esta pgina entrar.php. Debemos restringir el acceso a ella, pues la idea es que sea visible solo por quien inicia sesin. Bien para ello nos vamos al men Insertar -> Objetos de aplicacin -> Autenticacin de usuarios -> Restringir acceso a pgina:

Clic en la imagen para ampliar En el cuadro de opciones establecemos los siguientes parmetros:

Clic en la imagen para ampliar

Ahora cada vez que alguien quiera acceder a esa pgina sin haber iniciado sesin, ser redireccionado automticamente a la pgina ingreso.php. o

Validar usuarios

Bien ahora si vamos a validar el ingreso de los usuarios. En mi base de datos tengo dos usuarios registrados que son: o o Usuario #1: usuario = usuario1, contrasea = prueba1 Usuario #2: usuario = usuario2, contrasea = prueba2

La validacin lo haremos en la pgina ingreso.php nos vamos al men Ventana -> Bases de datos y se nos carga una ventana en el panel derecho, si seguiste los pasos anteriores al crear Nuevo sitio y al configurar el servidor de prueba, entonces no tendrs problemas en este paso. En la ventana de Bases de datos damos clic en el smbolo + y luego en Conexin MySQL. Se nos aparece una ventana y llenamos con los siguientes datos: o o Nombre de conexin: cualquier nombre, en mi caso se llama conexion_usuarios. Servidor MySQL: si la base de datos est en la misma mquina escribimos localhost (sin comillas). o o o Nombre de usuario: por lo general el nombre por defecto es root (sin comillas). Contrasea: por lo general se deja el espacio en blanco. Base de datos: damos clic en Seleccionar y escogemos la base de datos que creamos, en mi caso manejo_usuarios. Nos quedara as:

Clic en la imagen para ampliar

Ahora en la ventana Bases de datos aparece la base seleccionada con el nombre que le pusimos. Ahora nos vamos al men Ventana -> Vinculaciones. En la ventana que aparece en el men lateral damos clic en el signo + y escogemos Juego de registros (consulta) y escribimos los siguientes datos: o Nombre: cualquier nombre que queramos darle a la consulta o recordset, en mi caso se llama consulta_usuarios (sin comillas). o o o Conexin: seleccionamos la conexin que creamos anteriormente. Table: escogemos la tabla que contiene los datos, en mi caso usuarios. Columnas: escogemos la opcin todo, ya que queremos los datos tanto del usuario como del password. Nos queda algo as:

Clic en la imagen para ampliar Si damos clic en Prueba podemos ver todos los registros que tiene esta consulta. Damos clic en aceptar. Automticamente Dreamweaver crea el cdigo PHP, sin que hayamos programado absolutamente nada. Yo uso la versin CS o versin 8, aqu el cdigo PHP se crea en el mismo archivo, pero en versiones superiores como la CS4 crea el cdigo en un archivo separado. Bien, una vez hecha la conexin a la base de datos vamos a validar el usuario. Nos vamos al men Insertar -> Objetos de aplicacin -> Autenticacin de usuarios -> Conectar usuario. Se nos aparece un cuadro y establecemos los siguientes parmetros: o Obtener entrada de formulario: aqu va el nombre del formulario, por defecto se llama form1, pero si le cambiaron de nombre va el nombre que le pusieron.

Campo nombre de usuario: se escoge el nombre del campo de texto que contiene al usuario, en mi caso se llama usuario (sin comillas).

Campo contrasea: se escoge el nombre del campo de texto que contiene la contrasea, en mi caso se llama contrasena (sin comillas).

Validar utilizando conexin: escogemos el nombre de la conexin a la base de datos que creamos antes, en mi caso conexion_usuarios (sin comillas).

Tabla: escogemos el nombre de la tabla que contiene los usuarios, en mi caso usuarios (sin comillas).

Columna nombre de usuario: escogemos la columna que contiene los usuarios, en mi caso user (sin comillas).

Columna contrasea: escogemos la columna que contiene las contraseas, en mi caso password (sin comillas).

Si la conexin es correcta, ir a: aqu escogemos la pgina web a donde se redireccionar al usuario si los datos ingresados son correctos, en este caso entrar.php.

Si falla la conexin, ir a: aqu escogemos la pgina web a donde se redireccionar al usuario si los datos ingresados son errneos, en mi caso ingreso.php.

Nos queda as:

Clic en la imagen para ampliar Listo!!! Ahora para ingresar a la pgina entrar.php debemos validarnos en la pgina ingreso.php, no hemos escrito nada de cdigo PHP, todo lo hizo Dreamweaver. Ahora vamos a terminar el programa dndole los ltimos toques a la pgina entrar.php.

Al crear la conexin a la base de datos se crea automticamente en todas las pginas del sitio, pero las vinculaciones se deben crear una para cada pgina segn se necesite. Entonces en la pgina entrar.php agregamos una nueva vinculacin con el signo + y escogemos Juego de registros (consulta) y lo llenamos con los siguientes datos:

Clic en la imagen para ampliar Ya s lo que te ests preguntando qu es eso de Filtro: user = Variable de sesin MM_Username? Bien recuerdas que te dije que no necesitas programar nada, pero que si debes conocer algo de PHP? Bien, si te fijas en el cdigo PHP que Dreamweaver cre en la pgina ingreso.php te fijars que existe lo siguiente: //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername; $_SESSION['MM_UserGroup'] = $loginStrGroup; Pues ah tienes la variable MM_Username, sta variable contiene el nombre de sesin con el que navegars por la pgina web, y el nombre de sesin es igual al usuario que tienes en la base de datos. Entonces en esta consulta lo que estamos haciendo es obtener el nombre de usuario donde user (la variable que tenemos en la base de datos) sea igual a la variable MM_Username de inicio de sesin. Pues queremos imprimir ese dato en una parte de la pgina web, toma en cuenta que por esa razn en Columnas escog Seleccionado y escog la columna user nicamente, pues no me interesa imprimir la columna password, sera una gran error.

Bien una vez hecha esta consulta, ponemos el cursor donde queremos imprimir el nombre del usuario y nos vamos al men Insertar -> Objetos de aplicacin -> Datos dinmicos -> Texto dinmico. Nos aparece un cuadro y escogemos la consulta que acabamos de hacer:

Clic en la imagen para ampliar Te aparecer un cuadro que contiene la consulta PHP. Finalmente vamos a crear el enlace para cerrar sesin. Solo ponemos el cursor donde queremos que est el enlace, y nos vamos al men Insertar -> Objetos de aplicacin -> Autenticacin de usuarios -> Desconectar usuario. Nos aparece una ventana y llenamos con los siguientes parmetros:

Clic en la imagen para ampliar Si en vez de la palabra Desconectar quieres, por ejemplo, las palabras Cerrar sesin, entonces la escribes, la seleccionas y sigues el procedimiento anterior. As se ve cuando ingresas al rea restringida despus de validarte, en este caso como usuario2:

Clic en la imagen para ampliar Listo!!! Acabas de crear una pgina web que valida el ingreso de usuarios que estn en una base de datos de MySQL sin programar nada. Trata de probar los dems componentes que trae el men Insertar -> Objetos de aplicacin. Te ahorrars mucho tiempo haciendo pginas web gracias a Dreamweaver. Por cierto sub todos los cdigos generados a esta pgina:http://mygnet.net/codigos/php/manejodebasedatos/validar_ingreso_de_usuarios_con_ph p_y_mysql.3046ah los pueden descargar.

Vous aimerez peut-être aussi