domingo, 15 de febrero de 2009

Sistema de login con php y mysql

http://www.paginabierta.com/comunes/mundo.gif


Yo me maté buscando esto. y cada vez que lo encontraba no le entendia, al fin le entendí y es más simple de lo que piensan solo hay que crear una base de datos donde alojar una tabla , en dicha tabla se llevará registro de los usuarios, luego via FTP se suben una serie de archivos al servidor, y el resto es cuestion de intuicion. recomiendo a la hora de editar, el macromedia dreamwaver. Acá les dejo a continuación un tutorial que encontré en una interesante pagina, al final del post está a descarga de los archivos comprimidos y la fuente del post original.

---------------------------------------------------------------------

Debemos de crear una tabla que vamos a utilizar en la base de datos MySQL.

MySQL:
  1. CREATE TABLE `usuarios` (
  2. `id` INT(11) NOT NULL AUTO_INCREMENT,
  3. `usuario` VARCHAR(20) NOT NULL,
  4. `password` VARCHAR(10) NOT NULL,
  5. `descripcion` TEXT character SET utf8 collate utf8_spanish_ci,
  6. `email` VARCHAR(45) character SET utf8 collate utf8_spanish_ci DEFAULT NULL,
  7. `fecha` DATE NOT NULL,
  8. PRIMARY KEY (`id`)
  9. )

Ya tenemos la estructura de nuestra tabla de usuarios.

Ahora una pagina index.php donde colocaremos el siguiente código:

PHP:


  1. echo 'Bienvenido, ';

  2. if (isset($_SESSION['k_username'])) {
  3. echo ''.$_SESSION['k_username'].'.';
  4. }else{
  5. }
  6. ?>

Ahora el formulario para hacer login.php

HTML:
  1. Usuario: type="text" name="usuario" size="20" maxlength="20" />

  2. />
  3. Password: type="password" name="password" size="10" maxlength="10" />

  4. />
  5. type="submit" value="Ingresar" />

Seguimos con el archivo validar_usuario.php el cual verificará los datos del archivo login.php

PHP:


  1. //datos para establecer la conexion con la base de mysql.
  2. mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
  3. mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

  4. function quitar($mensaje)
  5. {
  6. $nopermitidos = array("'",'\\','<','>',"\"");
  7. $mensaje = str_replace($nopermitidos, "", $mensaje);
  8. return $mensaje;
  9. }

  10. if(trim($HTTP_POST_VARS["usuario"]) != "" && trim($HTTP_POST_VARS["password"]) != "")
  11. {
  12. // Puedes utilizar la funcion para eliminar algun caracter en especifico
  13. //$usuario = strtolower(quitar($HTTP_POST_VARS["usuario"]));
  14. //$password = $HTTP_POST_VARS["password"];

  15. // o puedes convertir los a su entidad HTML aplicable con htmlentities
  16. $usuario = strtolower(htmlentities($HTTP_POST_VARS["usuario"], ENT_QUOTES));
  17. $password = $HTTP_POST_VARS["password"];


  18. $result = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario=\''.$usuario.'\'');
  19. if($row = mysql_fetch_array($result)){
  20. if($row["password"] == $password){

  21. $_SESSION["k_username"] = $row['usuario'];

  22. echo 'Has sido logueado correctamente '.$_SESSION['k_username'].'

    '

    ;

  23. //Elimina el siguiente comentario si quieres que re-dirigir automáticamente a index.php

  24. /*Ingreso exitoso, ahora sera dirigido a la pagina principal.
  25. */

  26. }else{
  27. echo 'Password incorrecto';
  28. }
  29. }else{
  30. echo 'Usuario no existente en la base de datos';
  31. }
  32. }else{
  33. echo 'Debe especificar un usuario y password';
  34. }
  35. ?>

El archivo registrar.php, ahí crearemos un usuario nuevo.

PHP:


  1. //datos para establecer la conexion con la base de mysql.
  2. mysql_connect('localhost','usuario','password')or die ('Ha fallado la conexión: '.mysql_error());
  3. mysql_select_db('mi_base')or die ('Error al seleccionar la Base de Datos: '.mysql_error());

  4. function formRegistro(){
  5. ?>
  6. "registrar.php" method="post">
  7. Usuario (max 20):
  8. "text" name="username" size="20" maxlength="20" />
  9. Password (max 10):
  10. "password" name="password" size="10" maxlength="10" />
  11. Confirma: "password" name="password2" size="10" maxlength="10" />
  12. Email (max 40):
  13. "text" name="email" size="20" maxlength="40" />
  14. "submit" value="Registrar" />


  15. }

  16. // verificamos si se han enviado ya las variables necesarias.
  17. if (isset($_POST["username"])) {
  18. $username = $_POST["username"];
  19. $password = $_POST["password"];
  20. $password2 = $_POST["password2"];
  21. $email = $_POST["email"];
  22. // Hay campos en blanco
  23. if($username==NULL|$password==NULL|$password2==NULL|$email==NULL) {
  24. echo "un campo está vacio.";
  25. formRegistro();
  26. }else{
  27. // ¿Coinciden las contraseñas?
  28. if($password!=$password2) {
  29. echo "Las contraseñas no coinciden";
  30. formRegistro();
  31. }else{
  32. // Comprobamos si el nombre de usuario o la cuenta de correo ya existían
  33. $checkuser = mysql_query("SELECT usuario FROM usuarios WHERE usuario='$username'");
  34. $username_exist = mysql_num_rows($checkuser);

  35. $checkemail = mysql_query("SELECT email FROM usuarios WHERE email='$email'");
  36. $email_exist = mysql_num_rows($checkemail);

  37. if ($email_exist>0|$username_exist>0) {
  38. echo "El nombre de usuario o la cuenta de correo estan ya en uso";
  39. formRegistro();
  40. }else{
  41. $query = 'INSERT INTO usuarios (usuario, password, email, fecha)
  42. VALUES (\''.$username.'\',\''.$password.'\',\''.$email.'\',\''.date("Y-m-d").'\')';

  43. mysql_query($query) or die(mysql_error());
  44. echo 'El usuario '.$username.' ha sido registrado de manera satisfactoria.
    '
    ;
  45. echo 'Ahora puede entrar ingresando su usuario y su password
    '
    ;
  46. ?>
  47. "validar_usuario.php" METHOD="post">
  48. Usuario : "text" NAME="usuario" SIZE=20 MAXLENGTH=20>
  49. Password: "password" NAME="password" SIZE=10 MAXLENGTH=20>
  50. "submit" VALUE="Ingresar">



  51. }
  52. }
  53. }
  54. }else{
  55. formRegistro();
  56. }
  57. ?>

Finalmente el archivo logout.php, ahí cerraremos la sesión.

PHP:

  1. // Borramos toda la sesion
  2. echo 'Ha terminado la session

    index

    '
    ;
  3. ?>

El sistema creado es sencillo para que sea fácil de entender, Y no olvides dejar tus comentarios.

floppy.jpg
Clic para descargar el archivo








fuente:
http://ayuda.fotopex.com/programacion/php/hacer-login-de-usuarios-con-php-y-mysql/


| www.blogonautia.com.ar ©2007-2009 |

1 @comentarios :

  1. FotoPex dijo...
  2. Gracias por mencionar la fuente, FotoPex.com

MUCHAS GRACIAS POR VISITAR MI BLOG, ACEPTO TUS CRITICAS Y COMENTARIOS QUE PUEDES EXPRESAR AQUI:

 

©2007-2015 - www.blogonautia.blogspot.com.ar • Todos los Derechos Reservados | Los contenidos son propiedad de sus respectivos autores

Suscribete y recibe lo ultimo de BLOGONAUTIA en tu correo