Sie sind auf Seite 1von 5

Fcil sistema de autentificacin (login, password) PHP

Etiquetas: o desarrollo o php o programacion o web

Primer Paso: Creacin de la base de datos


Lo primero que necesitas es crear la base de datos en la que vas a almacenar tu informacin. Si ya tienes creada una salta al paso dos. Para crear la base de datos la me or manera es desde algun tipo de software que te permita mane ar !ySql ya que el uso de scripts no est" autori#ado en todos los servidores.

Segundo Paso: Configuracin de tablas


$a est" creada la base de datos y tenemos que configurar las tablas y campos en los que vamos a almacenar la informacin. %tili#a este cdigo o modif&calo adapt"ndolo a tus gustos. '' (onfigura los datos de tu cuenta )dbhost*+localhost+, )dbusername*+username+, )dbuserpass*+password+, )dbname*+database+, '' (one-in a la base de datos mysql.connect /)dbhost0 )dbusername0 )dbuserpass1, '' Seleccion de la base de datos mysql.select.db/)dbname1 or die/+(annot select database+1, '' (reacion de la tabla /puedes elegir otros nombres para los campos1 )query * +(2E34E 435LE users/ id 674 784 7%LL 3%48.67(2E!E740 P26!32$ 9E$/id10 username :32(;32/<=1 784 7%LL0 password :32(;32/>=1 784 7%LL0 email :32(;32/?=1 784 7%LL1+, )result * mysql.query/)query1, echo @A4abla creadaA@, BC

Tercer Paso: egistro de usuarios

$a hemos creado y configurado la base de datos0 ahora escribiremos el cdigo de una simple p"gina de registr0 en la que insertaremos nombre de usuario0 contrseDa y cuenta de correo. '' (onfigura los datos de tu cuenta )dbhost*+localhost+, )dbusername*+username+, )dbuserpass*+password+, )dbname*+database+, '' (one-in a la base de datos mysql.connect /)dbhost0 )dbusername0 )dbuserpass1, mysql.select.db/)dbname1 or die/@(annot select database@1, '' Preguntaremos si se han enviado ya las variables necesarias if /isset/).P8S4E@username@F11 G )username * ).P8S4E@username@F, )password * ).P8S4E@password@F, )cpassword * ).P8S4E@cpassword@F, )email * ).P8S4E@email@F, '' ;ay campos en blanco if/)username**7%LLH)password**7%LLH)cpassword**7%LLH)email**7%LL1 G echo @un campo est" vacio.@, IelseG '' J(oinciden las contraseDasB if/)passwordA*)cpassword1 G echo @Las contraseDas no coinciden@, IelseG '' (omprobamos si el nombre de usuario o la cuenta de correo ya e-ist&an )checKuser * mysql.query/@SELE(4 username L28! users M;E2E username*+)username+@1, )username.e-ist * mysql.num.rows/)checKuser1, )checKemail * mysql.query/@SELE(4 email L28! users M;E2E email*+)email+@1, )email.e-ist * mysql.num.rows/)checKemail1, if /)email.e-istC=H)username.e-istC=1 G echo @EL nombre de usuario o la cuenta de correo estan ya en uso@, IelseG ''4odo parece correcto procedemos con la inserccion )query * @67SE24 6748 users /username0 password0 email1 :3L%ES/+)username+0+)password+0+)email+1@, mysql.query/)query1 or die/mysql.error/11, echo @El usuario )username ha sido registrado de manera satisfactoria.@, I I I I BC

7os quedar&a escribir el cdigo ;4!L que debe contener el formulario de registro0 prueba con este e emplo o ed&talo a tu gusto. Puedes verlo aqu&. 7ombre de usuario: Password: 2epite Password: Email:
Registro

:er cdigo registro.php 3hora que tenemos nuestra p"gina de registro llego la hora de hacer pruebas0 ten en cuenta que si has cambiado algNn dato de los formularios o algun campo de la base de datos ten en cuenta que deberas cambiar las consultas. La correcta e ecucin de nuestro cdigo debe devolver lo siguiente. El usuario @nombre.de.usuario@ ha sido registrado de manera satisfactoria.

Cuarto Paso: !utentificacin de usuarios


'' (onfigura los datos de tu cuenta )dbhost*+localhost+, )dbusername*+username+, )dbuserpass*+password+, )dbname*+database+, session.start/1, '' (onectar a la base de datos mysql.connect /)dbhost0 )dbusername0 )dbuserpass1, mysql.select.db/)dbname1 or die/+(annot select database+1, if /).P8S4E+username+F1 G ''(omprobacion del envio del nombre de usuario y password )username*).P8S4E+username+F, )password*).P8S4E+password+F, if /)password**7%LL1 G echo @La password no fue enviada@, IelseG )query * mysql.query/@SELE(4 username0password L28! users M;E2E username * +)username+@1 or die/mysql.error/11, )data * mysql.fetch.array/)query1, if/)dataE+password+F A* )password1 G echo @Login incorrecto@, IelseG )query * mysql.query/@SELE(4 username0password L28! users M;E2E username

* +)username+@1 or die/mysql.error/11, )row * mysql.fetch.array/)query1, ).SESS687E@s.username@F * )rowE+username+F, echo @;as sido logueado correctamente @.).SESS687E+s.username+F.@ y puedes acceder al inde-.php.@, I I I BC 7os quedar&a escribir el cdigo ;4!L que debe contener el formulario para ingresar en la p"gina0 prueba con este e emplo o ed&talo a tu gusto. Puedes verlo aqu&. 7ombre de usuario: Password:
Login

:er cdigo login.php

"uinto Paso: #nde$%p&p 'isible para usuarios registrados


'' (onfigura la informacin de tu cuenta )dbhost*+localhost+, )dbusername*+username+, )dbuserpass*+password+, )dbname*+database+, session.start/1, '' (one-in a la base de datos mysql.connect /)dbhost0 )dbusername0 )dbuserpass1, mysql.select.db/)dbname1 or die/+(annot select database+1, BC if /isset/).SESS687E+s.username+F11 G echo @5ienvenido a mi sitio has ingresado como @.).SESS687E+s.username+F.@0 gracias por la visitaA@, IelseG echo @4u no estas autentificado dir&gete a login.php o registrate en register.php@, echo ).SESS687E+s.username+F, I BC

Se$to Paso: (ogout


Slo nos quedar&a poder salir de la p"gina una ve# nos hayamos autentificado y esto lo haremos con este pequeDo script.

session.start/1, ).SESS687 * array/1, header/@Location: inde-.php@1, BC Puedes ver m"s informacin sobre este script aqu& http:''www.tufuncion.com'login.autentificacion.php