You are on page 1of 11

Autenticación 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 cómo restringir el acceso a una página web mediante un usuario y contraseña o manejo de sesiones que estén en una base de datos de MySQL sin que programes una sola línea de código. Esto no significa que no necesites saber programación PHP, lo necesitas pero aquí te daré algunos pasos para que hagas todo más rápido 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í:

Entonces llenamos con los datos necesarios: o o Nombre del sitio: Le puedes poner cualquier nombre Carpeta raíz local: Aquí escogemos la carpeta donde está el sitio. Respecto a esto último hay que destacar que todas las imágenes que insertes en el sitio desde cualquier ruta se copiará automáticamente a la carpeta “images”. En Carpeta de servidor escogemos la ruta del WAMP. en Modelo de servidor seleccionamos “PHP MySQL” y en Acceso escogemos “Local/Red”. Yo dentro de la ruta C:\wamp\www creé una carpeta llamada “UsuariosenPHP” y dentro una carpeta llamada “images”.Clic en la imagen para ampliar Una vez creada la base de datos vamos a crear las páginas web. en este caso C:\wamp y en prefijo del URL escogemos la ruta con la que cargaremos nuestro sitio web. para este caso sería: http://localhost/UsuariosenPHP/. Recuerda guardarlas en la ruta C:\wamp\www para poder visualizarlas. vamos a necesitar para esta prueba 3 páginas PHP. en mi caso C:\wamp\www\UsuariosenPHP o Carpeta predeterminada de imágenes: 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”. . Bueno de hecho al abrir Dreamweaver (en este caso usaré la versión CS) antes de crear cualquier archivo debemos ir al menú “Sitio” -> “Nuevo sitio”.

php como se muestra en la siguiente figura: . tendrá un título y un enlace a la página ingreso.php o ingreso.php –> Esta página será la principal. No olvides realizar este paso o tendrás problemas más adelante.php –> Es la página donde ingresaremos si la autenticación fue exitosa. Ahora crearemos las páginas web. Entonces nos queda algo así: Clic en la imagen para ampliar Damos clic en Aceptar. Ahora veamos qué tiene cada página: o index.Nota: Si usas otro servidor web como XAMPP tienes que cambiar esas rutas. o entrar.php Tendrá únicamente un título y un enlace a la página ingreso.php –> Tendrá un formulario donde se ingresará el usuario y la contraseña para autenticarse. Como mencioné antes serán 3 páginas web sencillas las que necesitamos para esta prueba: o index.

php Esta página tiene un título.Clic en la imagen para ampliar o ingreso. El campo de texto del usuario se llamará “usuario” (sin comillas) y el campo de texto del password se llamará “contrasena” (sin comillas). tiene una tabla que dirá el nombre del usuario que accedió y tendrá un link que diga Desconectar que permitirá cerrar la sesión (ya explicaré cómo hacer eso): . Entonces tenemos algo así: Clic en la imagen para ampliar o entrar.php Esta página contendrá un formulario que pida el nombre de usuario y la contraseña.

Bien para ello nos vamos al menú Insertar -> Objetos de aplicación -> Autenticación de usuarios -> Restringir acceso a página: Clic en la imagen para ampliar En el cuadro de opciones establecemos los siguientes parámetros: Clic en la imagen para ampliar .Clic en la imagen para ampliar Antes de validar los usuarios (que es lo que nos interesa) debemos hacer algo en esta página entrar.php. Debemos restringir el acceso a ella. pues la idea es que sea visible solo por quien inicia sesión.

En mi base de datos tengo dos usuarios registrados que son: o o Usuario #1: usuario = usuario1. entonces no tendrás problemas en este paso. será redireccionado automáticamente a la página ingreso. si seguiste los pasos anteriores al crear Nuevo sitio y al configurar el servidor de prueba. o o o Nombre de usuario: por lo general el nombre por defecto es “root” (sin comillas). contraseña = prueba2 La validación lo haremos en la página ingreso.Ahora cada vez que alguien quiera acceder a esa página sin haber iniciado sesión. Base de datos: damos clic en “Seleccionar” y escogemos la base de datos que creamos. Nos quedaría así: Clic en la imagen para ampliar . o Validar usuarios Bien ahora si vamos a validar el ingreso de los usuarios. En la ventana de Bases de datos damos clic en el símbolo + y luego en “Conexión MySQL”. en mi caso “manejo_usuarios”. en mi caso se llama conexion_usuarios. contraseña = prueba1 Usuario #2: usuario = usuario2. Servidor MySQL: si la base de datos está en la misma máquina escribimos “localhost” (sin comillas).php.php nos vamos al menú Ventana -> Bases de datos y se nos carga una ventana en el panel derecho. Se nos aparece una ventana y llenamos con los siguientes datos: o o Nombre de conexión: cualquier nombre. Contraseña: por lo general se deja el espacio en blanco.

en mi caso “usuarios”. por defecto se llama form1. pero si le cambiaron de nombre va el nombre que le pusieron. Ahora nos vamos al menú Ventana -> Vinculaciones. ya que queremos los datos tanto del usuario como del password. sin que hayamos programado absolutamente nada. Nos queda algo así: Clic en la imagen para ampliar Si damos clic en Prueba podemos ver todos los registros que tiene esta consulta. pero en versiones superiores como la CS4 crea el código en un archivo separado. Damos clic en aceptar. Se nos aparece un cuadro y establecemos los siguientes parámetros: o Obtener entrada de formulario: aquí va el nombre del formulario.Ahora en la ventana “Bases de datos” aparece la base seleccionada con el nombre que le pusimos. aquí el código PHP se crea en el mismo archivo. Table: escogemos la tabla que contiene los datos. Columnas: escogemos la opción todo. en mi caso se llama “consulta_usuarios” (sin comillas). . Nos vamos al menú Insertar -> Objetos de aplicación -> Autenticación de usuarios -> Conectar usuario. Automáticamente Dreamweaver crea el código PHP. o o o Conexión: seleccionamos la conexión que creamos anteriormente. Yo uso la versión CS o versión 8. Bien. una vez hecha la conexión a la base de datos vamos a validar el usuario. 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.

o Campo contraseña: se escoge el nombre del campo de texto que contiene la contraseña. o Si la conexión es correcta. Ahora vamos a terminar el programa dándole los últimos toques a la página entrar. o Si falla la conexión.php debemos validarnos en la página ingreso.o Campo nombre de usuario: se escoge el nombre del campo de texto que contiene al usuario. en mi caso “conexion_usuarios” (sin comillas).php. ir a: aquí escogemos la página web a donde se redireccionará al usuario si los datos ingresados son erróneos. o Columna nombre de usuario: escogemos la columna que contiene los usuarios. o Validar utilizando conexión: escogemos el nombre de la conexión a la base de datos que creamos antes. ir a: aquí escogemos la página web a donde se redireccionará al usuario si los datos ingresados son correctos. en mi caso se llama “contrasena” (sin comillas).php. en mi caso “password” (sin comillas). Nos queda así: Clic en la imagen para ampliar Listo!!! Ahora para ingresar a la página entrar. o Tabla: escogemos el nombre de la tabla que contiene los usuarios. o Columna contraseña: escogemos la columna que contiene las contraseñas. en mi caso “usuarios” (sin comillas). en este caso entrar. no hemos escrito nada de código PHP.php. .php. en mi caso ingreso. todo lo hizo Dreamweaver. en mi caso se llama “usuario” (sin comillas). en mi caso “user” (sin comillas).

$_SESSION['MM_UserGroup'] = $loginStrGroup. pues no me interesa imprimir la columna password. Entonces en la página entrar. . 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 sesión. si te fijas en el código PHP que Dreamweaver creó en la página ingreso.php agregamos una nueva vinculación 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 estás preguntando ¿qué es eso de Filtro: user = Variable de sesión MM_Username? Bien ¿recuerdas que te dije que no necesitas programar nada.php te fijarás que existe lo siguiente: //declare two session variables and assign them $_SESSION['MM_Username'] = $loginUsername. Pues ahí tienes la variable MM_Username. toma en cuenta que por esa razón en Columnas escogí Seleccionado y escogí la columna user únicamente. sería una gran error. ésta variable contiene el nombre de sesión con el que navegarás por la página web. Pues queremos imprimir ese dato en una parte de la página web.Al crear la conexión a la base de datos se crea automáticamente en todas las páginas del sitio. pero las vinculaciones se deben crear una para cada página según se necesite. pero que si debes conocer algo de PHP? Bien. y el nombre de sesión es igual al usuario que tienes en la base de datos.

por ejemplo.Bien una vez hecha esta consulta. entonces la escribes. Finalmente vamos a crear el enlace para cerrar sesión. Nos aparece una ventana y llenamos con los siguientes parámetros: Clic en la imagen para ampliar Si en vez de la palabra Desconectar quieres. y nos vamos al menú Insertar -> Objetos de aplicación -> Autenticación de usuarios -> Desconectar usuario. las palabras Cerrar sesión. 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. Así se ve cuando ingresas al área restringida después de validarte. Solo ponemos el cursor donde queremos que esté el enlace. ponemos el cursor donde queremos imprimir el nombre del usuario y nos vamos al menú Insertar -> Objetos de aplicación -> Datos dinámicos -> Texto dinámico. en este caso como usuario2: . la seleccionas y sigues el procedimiento anterior.

Trata de probar los demás componentes que trae el menú Insertar -> Objetos de aplicación.Clic en la imagen para ampliar Listo!!! Acabas de crear una página web que valida el ingreso de usuarios que están en una base de datos de MySQL sin programar nada.3046ahí los pueden descargar. Te ahorrarás mucho tiempo haciendo páginas web gracias a Dreamweaver. .net/codigos/php/manejodebasedatos/validar_ingreso_de_usuarios_con_ph p_y_mysql. Por cierto subí todos los códigos generados a esta página:http://mygnet.