Sei sulla pagina 1di 16

Inicio Licencia CLH Quienes Somos Colabora Peticiones Publicidad Contacto Celular Cine Comida Computacion Diseo Diseo

iseo Web Electronica Juguetes Manualidades Supervivencia Tecnologia

Cmo hacer una autentificacion multiusuario con PHP y MySQL


Publicado por Xabadu en PHP el 31 Mayo 2008 | 160 Comentarios

Lo prometido es deuda. Tal como anunciamos en el pasado tutorial Como hacer una autentificacin de usuario en PHP, hoy traemos

esta segunda parte en la que haremos un sistema de autentificacin ms evolucionado, el cual adems de ser multiusuario, incluye otras medidas de seguridad como manejo de sesiones, lo cual nos permitir restringir el acceso a usuarios que obtengan la URL directa y de esta forma nadie podr ingresar a nuestra pgina sin ingresar el nombre de usuario y contrasea correcto en el formulario. Ms informacin despus del salto.

Cmo hacer una autentificacin de usuario con PHP y MySQL


Como es habitual, vamos primero con lo que necesitamos para realizar esto:

Implementos necesarios:
Un editor Web. (Para este tutorial utilizamos Adobe Dreamweaver CS3, pueden descargar una versin de evaluacin aqu). Un servidor Web que soporte PHP, versiones 5 o inferiores (ya sea local, u algn hosting gratis, pueden encontrar algunos aqu) Un sistema de bases de datos, puede ser cualquiera. (Para este tutorial utilizaremos MySQL por su facilidad de trabajo con PHP. Pueden tener una instalacin local o buscar algn hosting que ofrezca). El funcionamiento de este sistema es bastante simple y en algo parecido al anterior. Bsicamente tendremos 3 archivos que definirn el ingreso de los usuarios: 1.- Un archivo HTML que contenga un formulario de ingreso, tal como el que hicimos en el tutorial anterior. 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. 3.- Y finalmente otro archivo PHP que redirigir a los usuarios dependiendo del resultado de la consulta hecha en el n 2. Si estn bien los datos los llevar a la pgina que queramos mostrar, y de lo contrario, mostrar un mensaje de error y los llevar de vuelta a la pgina del n 1. Con todo listo, manos a la obra:

Procedimiento
1.- Lo primero es tener una pgina HTML que contenga un formulario, tal como lo hicimos en el tutorial anterior. Al igual que en el formulario anterior, el Action de nuestro formulario dirigir a ingreso.php. A continuacin, definiremos una tabla en la base de datos la cual almacenar los datos correspondientes a todos los usuarios autorizados a entrar a nuestra pgina. Para definir esta tabla e ingresar algunos datos de prueba, lo ms recomendable es usar un sistema que todos los servicios de hosting ofrecen y que tambin es obtenido haciendo una instalacin local (mediante el uso de algn software como XAMPP), que es phpMyAdmin. Este programa nos permite trabajar directamente sobre la base de datos, dandonos entre otras funcionalidades, la posibilidad de mantener datos, agregar usuarios y ver la estructura actual de nuestra BD.

Interfaz de phpMyAdmin

Interfaz de creacin de tablas

Modo de consultas SQL Brevemente puedo decir que phpMyAdmin trabaja de 2 formas sobre la base de datos: Una mediante el interfaz grfico el cual ofrece un modo bastante amigable para la creacin y mantencin de las estructuras y los datos. El otro es mediante consultas SQL, el cual si tienen el conocimiento del lenguaje es recomendable utilizar. 2.- Una vez adentro de PHPMyAdmin, crearemos una base de datos con el nombre que Uds. quieran y luego una tabla llamada usuario y dentro de ella definiremos los siguientes campos: Usuario => Varchar (10) Clave => Varchar (10) Nombre => Varchar (40)

Interfaz de configuracin de campos Adems definiremos como clave primaria de la tabla al campo usuario

Marcando esto en el campo correspondiente lo definimos como Clave Primaria

Qu es una clave primaria?

Una clave primaria es un atributo que sirve como identificador de la tabla, el cual permite individualizar cada registro de los otros existentes. Una clave primaria debe ser nica, no nula, completa y cumplir el principio de minimalidad (el menor nmero de campos posibles y que estos sean lo ms simples que se puedan). Para este caso usar el campo usuario es lo apropiado ya que en cada sistema no puede, o mejor dicho no debe, haber ms de un individuo con el mismo nombre de usuario. 3.- Con nuestra tabla definida, procederemos a ingresar datos a la tabla, al igual que el paso anterior, esto se puede hacer mediante interfaz o por una consulta SQL. Ingresaremos estos datos: Usuario => demo Clave => demo Nombre => Usuario de prueba Para ingresar los datos mediante interfaz, debemos marcar la tabla y hacer click al botn Examinar que esta justo al lado y luego arriba al que dice Insertar.

Botn Insertar Con esto tenemos un usuario ingresado en nuestra base de datos y podremos hacer uso de ese registro para probar nuestro sistema. 4.- A continuacin construiremos la pgina en PHP que validar los datos recogidos a travs del formulario: Para esto, crearemos una pgina PHP en Dreamweaver, la cual guardaremos como ingreso.php e insertaremos el siguiente cdigo antes de la etiqueta <HTML>: <? session_start(); $_SESSION["user"]=$_POST['usuario']; $_SESSION["pass"]=$_POST['clave']; $_SESSION["falla"]=0; ?> <meta http-equiv=refresh content=3; url=ingreso2.php /> La explicacin del cdigo es la siguiente: <?: Marca el inicio de un cdigo ejecutable PHP. session_start();: Se inicia una sesin para el usuario que est ingresando a nuestra pgina. $_SESSION["user"]=$_POST['usuario'];: Lo que hacemos aqu es tomar el valor usuario enviado desde el formulario (lo recogemos en el vector $_POST, el cual almacena todos los valores enviados por URL desde un formulario) y se lo asigna al valor user en el vector $_SESSION, el cual se encarga de almacenar variables que podrn ser accedidas desde cualquier pgina mientras la sesin exista o el usuario se mantenga en la pgina. $_SESSION["pass"]=$_POST['clave'];: Lo mismo que el caso anterior pero con los valores correspondientes. $_SESSION["falla"]=0;: Creamos una variable llamada falla dentro del vector de sesin, la cual usaremos como bandera que marcar cualquier error que se produzca durante el proceso de validacin. Le asignamos un valor 0, pero en verdad podemos darle el valor que queramos, ya que la verificacin final con esta variable la haremos

mediante una comparacin con su valor original. ?>: Cerramos el cdigo ejecutable PHP <meta http-equiv=refresh content=3; url=ingreso2.php />: Esta etiqueta lo que har es redireccionar la pgina actual (ingreso.php) a la pgina ingreso2.php cuando transcurran 3 segundos. (El valor del parametro content, que pueden modificar segn deseen). Antes de seguir:

Qu es una sesin?
Cada vez que un usuario en particular visita una pgina de nuestra propiedad, nuestro servidor le asigna una sesin unica, 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 individualizacin se realiza mediante la asignacin de identificadores de sesin, los cuales son generados al azar y basandose en diferentes parametros para cada caso, por lo que la probabilidad de que una identificacin de sesin 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 mtodo mucho ms seguro, ya que en el caso de las cookies, si un navegador las tiene desactivadas se imposibilita el reconocimiento del usuario, mientras que el mtodo de las sesiones corre para todos por igual. PHP, as como otros lenguajes dinmicos para pginas (como JSP, ASP, etc), nos otorga la posibilidad de trabajar con un vector de sesin llamado $_SESSION, el cual se adjunta al identificador ya asignado por el servidor. En este vector nosotros podemos definir un nmero interminable de variables, a las cuales podremos acceder desde cualquier pgina de nuestro sitio, sin la necesidad de pasar las variables por URL (los casos de POST y GET que veamos en el tutorial anterior). Para poder hacer uso del vector de sesin es necesario usar la sentencia session_start(); al inicio de cada pgina PHP que lo requiera. Pueden obtener ms informacin sobre sesiones en PHP, aqu. 5.- Continuando con el cdigo que insertaremos en nuestra pgina ingreso.php, ahora pondremos esto luego de la etiqueta <BODY>: (Las explicaciones del codigo van entremedio marcadas en negrita, cursiva y con un /* y */) <? $user=$_POST['usuario']; $pass=$_POST['clave']; /* Asignamos a las variables $user y $pass los valores usuario y clave recogidos de nuestro formulario de ingreso de la pgina HTML. */ if(empty($user)) { echo No ha ingresado un nombre de usuario. <br> Sera redirigido de vuelta.; $_SESSION["falla"]=1; } /* Utilizaremos la funcin empty de PHP mediante la cual preguntaremos si nuestra variable $user (la que contiene el valor de usuario del formulario) se encuentra vacia, lo que significara que el usuario no ingreso nada en el campo. Si este fuera el caso, desplegaramos un mensaje en la pgina con echo y luego cambiariamos el valor de nuestra variable falla (la bandera definida en el vector de sesin) a 1. En caso de que el usuario no este vaco, pasamos al else y revisamos lo dems */

else { if(empty($pass)) { echo No ha ingresado una clave. <br> Sera redirigido de vuelta.; $_SESSION["falla"]=1; } /* Haremos la misma comprobacin anterior pero en este caso con la variable $pass (que almacena el valor de clave del formulario). En caso de que no este vaca, pasamos al else */ else { $con=mysql_connect(host,user,password); /* Declaramos una variable llamada $con a la que le almacenaremos el resultado de la funcin mysql_connect, la cual se encarga de establecer una conexin entre nuestra pgina PHP y nuestra base de datos MySQL para poder realizar las consultas que necesitamos para validar los datos. Esta funcin utiliza 3 parametros y devuelve un resultado de tipo entero (int): Host: La direccin del servidor donde tenemos alojada nuestra base de datos. Comnmente este valor debiera ser localhost (en caso de que esta pgina la ejecutemos en el mismo servidor donde esta alojada la BD), si no, es un dato que su proveedor de hosting debera darles. User: El usuario con el que ingresan a la BD. Tambien otorgado por su proveedor de hosting. Password: Contrasea para ingresar a la BD. Lo mismo que el caso anterior. */ mysql_select_db(database,$con); /* Llamamos a la funcin mysql_select_db la cual nos ayudar a seleccionar nuestra base de datos (la cual esta dentro de la base de datos) y que requiere de 2 parametros: Database: Nombre de nuestra base de datos. (La que creamos al principio). Identificador de conexin: El cual le otorga los datos de conexin a la funcin, en nuestro caso la variable $con. */ $sql=SELECT usuario, clave, nombre FROM usuario WHERE usuario=$user; /* Definimos una variable $sql , la cual guardar la consulta que haremos en la base de datos. En este caso, pediremos seleccionar el usuario, la clave y el nombre correspondientes al registro del usuario que se ingres mediante el formulario */ $resultado=mysql_query($sql,$con); /* Definimos una variable llamada $resultado en la cual almacenaremos, valga la redundancia, el resultado de la ejecucin de nuestra consulta mediante la funcin mysql_query, la cual requiere de 2 parametros: la consulta recien definida, y el identificador de conexin que definimos anteriormente. */ if(!$resultado) { $error=mysql_error();

print $error; $_SESSION["falla"]=1; exit(); } /* Luego preguntamos mediante un if si no hubo resultado a la ejecucin de la consulta y almacenamos en la variable $error la falla otorgada por la base de datos para presentarla en la pgina mediante la sentencia print (que es similar a echo) y cambiamos el valor de la variable falla de nuestro vector de sesin. Finalmente hacemos uso de la funcin exit(); para que nuestro cdigo termine de ejecutarse aqu y no sigan corriendo las lneas siguientes. Este paso puede obviarse ya que a los usuarios no es necesario ensearles el error que nos da la base de datos, yo decid incluirlo para que uds. puedan probar e informarse de las distintas razones por las que puede haber una falla en este proceso. */ if(mysql_affected_rows()==0) { echo El usuario no fue encontrado. <br> Sera redirigido de vuelta.; $_SESSION["falla"]=1; exit(); } /* Luego mediante otro if , hacemos un llamado a la funcin mysql_affected_rows() la cual se encarga de notificar si es que la consulta no afecto a ninguna fila de nuestra tabla (o sea, no hubo coincidencias), esta funcin retorna un entero, que es 0 en caso de no haber filas afectadas. En caso de que as sea desplegamos un mensaje informando que el usuario no fue encontrado mediante la sentencia echo, cambiamos el valor de la variable falla del vector de sesin y finalmente salimos del cdigo mediante la funcin exit();. Si el resultado de la funcin no es cero, significa que hubo coincidencias y pasamos al else */ else { $row=mysql_fetch_array($resultado); /* Definimos una variable $row y a esta le asignamos el resultado de la funcin mysql_fetch_array, la que utiliza como parametro $resultado (el resultado de la consulta ejecutada). Este paso es necesario, ya que cuando hacemos una consulta sobre una tabla de una base de datos, en caso de haber coincidencia, estos datos no estn disponibles para que nosotros los podamos manipular, si no que se seleccionan de forma virtual. Normalmente las bases de datos definen cursores, los cuales al hacer un fetch, extraen los datos y nos permiten manipularlos de una forma ms fisica por decirlo de alguna forma. En este caso, la variable $row se transformar en un vector, con posiciones de nombre igual a cada uno de los campos de la fila, los cuales podremos comparar. */ $nombre=$row['nombre']; /* Definimos una variable $nombre y a este le asignamos el valor de la posicin nombre del vector $row, o sea, el campo nombre extrado de la coincidencia de la tabla usuario */ if($user==$row['usuario']) { if($pass==$row['clave']) { echo <b>Bienvenido $nombre</b>. <br> Espere mientras es redirigido; $_SESSION["nombre"]=$nombre;

} else { echo Hay un error en la clave. <br> Espere mientras es redirigido; $_SESSION["falla"]=1; } } else { echo Hay un error en el nombre de usuario. <br> Espere mientras es redirigido; $_SESSION["falla"]=1; } /* Y Finalmente mediante una serie de if y else, comparamos los valores recibidos por el formulario (almacenados en las variables $user y $pass) con los extrados de la fila de la tabla de la base de datos (almacenados en el vector $row). En caso de coincidir el nombre de usuario y la contrasea, desplegamos un mensaje dandole la bienvenida al usuario con una sentencia echo (al usar el mensaje con la variable $nombre, dejamos definido un mensaje que cambiar dependiendo del nombre de cada usuario que entre) y le informaremos que ser redirigido, para finalmente registrar en el vector de sesin el nombre del usuario, en caso de que necesitemos usarlo ms adelante. De lo contrario mostraremos los correspondientes mensajes de error y marcaremos la variable falla para ms adelante. */ } } } ?> Y con eso terminamos nuestra pgina de validacin. A continuacin haremos una pgina PHP llamada ingreso2.php, la cual se encargar de redirigir adecuadamente al usuario dependiendo del resultado de la validacin de datos. 6.- Creamos nuestra pgina PHP e insertamos el siguiente cdigo antes de la etiqueta <HTML>: La explicacin del cdigo entremedio, en negritas, cursiva y entre /* */: <? session_start(); /* Iniciamos sesin dentro de esta pgina tambin mediante la funcin session_start(); */ if($_SESSION["falla"]==0) { $_SESSION["autorizacion"]=si; header(Location: pagina-de-destino.php); } /* Lo primero que hacemos es preguntar si la variable falla del vector de sesin tiene valor igual a 0. Si esto es as significa que paso todo el proceso de validacin sin errores, ya que en la pgina anterior ante cualquier problema le asignamos otro valor. En caso de que sea as, hacemos una redireccin por PHP mediante header y dentro de Location ponemos la pgina de destino donde llegaran los usuarios autorizados. Adems definimos una variable llamada autorizacin y le asignamos el valor si. Este variable nos permitir hacer un

manejo de sesiones en cualquiera de las pginas que sigan preguntando simplemente si esta activado el valor si, y de esa forma mostrar el contenido autorizado */ else { unset($_SESSION["falla"]); session_destroy(); header(Location: pagina-de-formulario.html); } ?> /* En caso de que no sea igual a cero el valor, significa que hubo un problema de validacin y por lo tanto el usuario no esta autorizado. Por lo que borramos la variable falla del vector de sesin mediante la funcion unset, y luego destruimos la sesin del usuario mediante la funcin session_destroy();, para que as ningun valor de la sesin quede almacenado en caso de futuros ingresos. Finalmente redirigirmos mediante header a la pgina inicial de ingreso de formulario. */ Mediante ingreso2.php redirigiremos al usuario dependiendo del resultado de validacin de datos, lo cual nos permitir restringir el acceso a quienes no tengan los datos correctos que tengamos almacenados en nuestra base de datos. A continuacin veremos brevemente como hacer un manejo de sesin para nuestras pginas que proseguirn este proceso. La importancia de un manejo de sesin radica en que, a pesar de hacer una validacin extensiva de datos, si no hay un manejo apropiado de las sesiones, cualquier usuario que obtenga la URL final de una forma u otra (la correspondiente a las pginas que vendrn despues del ingreso de datos), podrn ver el contenido, independiente del nombre de usuario y contrasea que hayan ingresado. Este es un proceso bastante simple de hacer, ya que solo requiere de una sentencia if. 7.- En nuestra pgina de destino (la que viene despus del proceso de validacin) solo necesitamos insertar el siguiente cdigo despus de la etiqueta <BODY>: <? if($_SESSION["autorizacion"]==si) { ?> y aqu desplegamos el contenido para los usuarios autorizados. Una vez que terminemos de desplegar el contenido, al final de eso abrimos cdigo nuevamente: <? } else { echo Usted no esta autorizado para ver este contenido. Por favor ?> <a href=pagina-deformulario.html><? echo Identifiquese ?></a>. }

?> Nota: En el caso del else, es necesario cerrar el codigo PHP antes de ingresar cdigo HTML (como el <a href ), por eso cerramos y volvimos a abrir para seguir con el texto. Este manejo de sesiones es bastante bsico, pero an as efectivo. Les recomiendo informarse ms sobre el manejo de sesiones para establecer un grado mximo de seguridad en sus pginas y que nadie pueda burlar su sistema de autentificacin y ver contenido al que no estan autorizados a ingresar. Y con eso ltimo terminaramos nuestro sistema de autentificacin multiusuario en PHP y MySQL. Tal como les digo, les recomiendo de a poco ir interiorizandose ms con el tema de las sesiones y distintas opciones de seguridad que nos ofrece tanto PHP como otros lenguajes dinmicos, lo cual los ayudar a construir pginas cada vez ms seguras. As que con eso estaramos dando fin a este largo tutorial, el cual esperamos sea de su utilidad. Como siempre les recordamos dejar sus comentarios y especialmente dudas o problemas que puedan tener sobre el desarrollo de esto, las cuales sern respondidas a la brevedad. Hay algunos pasos bastante complejos, as que en caso de que algo les ocasione problemas, no duden en preguntarnos. Espero que lo escrito aqu haya sido de su utilidad, y me despido, recordandoles que este tutorial ha sido desarrollado, documentado y probado personalmente por el equipo de Comolohago.cl, por lo que le adjuntamos nuestro sello de garanta. Muchas gracias por leer y ser hasta una prxima oportunidad. Staff CLH

Tutoriales relacionados:
Cmo crear un listado dinamico en PHP Cmo hacer un registro de usuarios en PHP Cmo validar una URL en PHP Como hacer una recomendacion a amigos en PHP Cmo hacer una paginacin de resultados en PHP (3 votos, promedio: 5.00 de 5)

Escrito por Xabadu Las tardes gloriosas de domingo y las grandes ovaciones a estadio lleno, no son algo extrao para Xabadu. Luego de ser descubierto a los 4 aos en un partido de barrio por los ojeadores del gran Aviacin F.C., sacudi el mercado nacional al ser traspasado en $500 pesos chilenos (1 USD) y 3 coca colas al renombrado Estrella Blanca de Lolol. Luego de una impresionante carrera por equipos como Lozapenco, Santa Cruz, Deportivo Lago Chungar y una incursin en la 3a divisin del futbol de Kazajstan, su record imbatible hasta la fecha de 1257 goles en 20 partidos lo llevo a ser elegido como uno de los arqueros ms recordados en la historia pelotera nacional. Una lesin en el colmillo superior derecho lo llev al retiro el ao 2003, pero est de vuelta y sin duda que su jerarqua y experiencia internacional ser un gran aporte.

160 Comentarios a Cmo hacer una autentificacion multiusuario con PHP y MySQL

1.

flaco dice: 2 Junio 2008 en 13:41 Mal hecha la autentificacion la clave no se debe enviar tal cual.. la deberias mandar en sha1 y en la base de datos se deberia guardar en sha1, a no ser que la conexion sea ssl

2.

Fernando Larraaga dice: 2 Junio 2008 en 15:16 @flaco: Gracias por tu comentario. La autentificacin no est mal hecha, solo falta encriptar la contrasea tal como lo mencionas. Se que podra sonar a excusa, pero creeme que pensabamos hacer una mencin a lo que dices, pero se nos termin escapando. Ahora, no se si sha1 es el mejor metodo, ya que junto con md5 y otros han sido bastante cuestionados desde hace un tiempo, con lo que se proyecta que no en mucho tiempo mas se convertiran en metodos muy vulnerables. Lo mas recomendado en la actualidad es la funcion base64_encode() (y posteriormente base64_decode()). Aunque bueno, creo que todos estamos de acuerdo que solo 1 medida de seguridad como esas no es suficiente. La idea de este tutorial (como el anterior) es ir introduciendo el concepto y funcionamiento de aspectos bsicos de pginas dinmicas (como paso de valores por URL, interaccion con bases de datos, etc.). Nuestro plan, a medida que pase el tiempo, es ir desarrollando tutoriales ms completos y complejos. Muchas gracias por tu aporte nuevamente, tendremos en consideracin lo que nos dices para una prxima oportunidad.

3.

FELIPE dice: 26 Junio 2008 en 20:25 COPIE EL CODIGO, PERO ME SALEN ESTOS ERRORES Notice: Undefined index: usuario in c:\archivos de programa\easyphp1-8\www\ingreso.php on line 3 Notice: Undefined index: clave in c:\archivos de programa\easyphp1-8\www\ingreso.php on line 4 Notice: Undefined index: usuario in c:\archivos de programa\easyphp1-8\www\ingreso.php on line 30 Notice: Undefined index: clave in c:\archivos de programa\easyphp1-8\www\ingreso.php on line 31 No ha ingresado un nombre de usuario Sera redirigido de vuelta

4.

Fernando Larraaga dice: 27 Junio 2008 en 0:26 @Felipe: El error que te aparece normalmente se debe a la configuracin de PHP que tienes para mostrar los errores, la cual te esta advirtiendo que no existen valores para las variables usuario y clave.

Esto puede deberse a que se esta accediendo directamente a ingreso.php sin pasar por el formulario o porque alguno de los 2 valores no se esta ingresando. Te recomiendo probar aadiendo una validacin en las primeras lineas (3 y 4 de ingreso.php) de que se ha ingresado el dato y si no se ha ingresado rellenar las variables con algn valor por defecto: Ej: if (!isset($_POST['usuario'])) { // Si no se ha ingresado valor, rellenar con un valor por defecto $_POST['usuario'] = nulo; } Lo mismo para la clave. Prueba con eso, deberia solucionar el error. Saludos

5.

carlos dice: 8 Agosto 2008 en 17:14 Hola primero que nada tu tutorial es interesante solo me preguntaba, yo lo estoy haciendo con WAMP no marca ningun error ni nada pero aunque le doy cualquierusuario y contrasea aun asi me marca como usuario autorizado aunque no este en mi base de datos

6.

Fernando Larraaga dice: 8 Agosto 2008 en 23:19 @carlos: Gracias por tu comentario. La situacion que te sucede se puede deber a que te logueaste una vez con los datos correctos y la sesion quedo marcada a tu ip, por lo que mientras la sesin no se cierre, te seguir dejando entrar. Te recomiendo actualizar la pgina al iniciar, o cerrar tu explorador y probar de nuevo. Si el problema persiste, por favor avisanos para seguir ayudandote. Saludos

7.

Cristian Alvarez dice: 10 Agosto 2008 en 13:23 //Un pequeo aporte con el fin de ahorrar codigo if($row=mysql_fetch_array($resultado)){ //entra }else{ //sale

echo El usuario no fue encontrado. Sera redirigido de vuelta.; $_SESSION[falla]=1; exit(); // Tambien se podria hacer unset($_SESSION[falla]); session_detroy(); //con esto no damos mensajes en el mismo validador si no que todo en el formulario header(Location: formulario.php?error=1); die(); }

8.

Fernando Larraaga dice: 10 Agosto 2008 en 14:21 @Cristian Alvarez: Gracias por tu comentario. Muy bien aporte, a los que quieran utilizarlo un detalle: es session_destroy(); en vez de session_detroy(); Saludos

9.

Cristian Alvarez dice: 12 Agosto 2008 en 13:19 Una cosa importante, yo recomienDo que las conexiones sean siempre en una sola pagina la cual puedas llamar con un include.por ej include(conexion.php); < ahi pones Esto (el include) lo agregas al comienzo de cada pagina que tengas que usar bases de datos y sesiones, de modo que si tienes que hacer cambios sea en una sola pagina y no en todas

10.

Cristian Alvarez dice: 12 Agosto 2008 en 13:22 no salio el codigo lo pongo denuevo include(conexion.php); $username=user; $password=pass; $database=base; mysql_connect(localhost,$username,$password);

mysql_connect(localhost,$username,$password); @mysql_select_db($database) or die( Unable to select database); session_start(); // NOS ASEGURAMOS QUE CADA PAGINA EN LA CUAL TRATAMOS DE ENTRAR TENGA SU SESION CREADA, SI NO LO MANDAMOS AL LOGIN if(!$_SESSION['_NOMBRE']){ header(location: formulario.php); die(); } ltimos comentarios

Comenta
Nombre (obligatorio) E-mail (no ser publicado) (obligatorio) Sitio Web

Comentar

Busca en CLH
Buscar

CLH Social

Categoras Categoras Animales Audio Casos de la vida real Celular Chile Cine CLH CLH Express Comida Computacion

Concursos Crisis Destacado Dibujo Diseo Diseo Web Documentos Electronica Herramientas Hogar Humor Juegos Juguetes Laboral Magia Manualidades Matematicas Miscelaneos Musica Noticias Optica Personal Religin Stencil Supervivencia Tecnologia Tragos Tramites Videojuegos Algunos derechos reservados bajo Creative Commons y la Licencia CLH | Como Lo Hago 2008-2010. | Implementado en Wordpress | Diseado en modo Guerrilla Style por el equipo CLH

Potrebbero piacerti anche