Ver Mensaje Individual
  #9 (permalink)  
Antiguo 11/04/2012, 20:08
lobos1981
 
Fecha de Ingreso: abril-2011
Ubicación: Colombia
Mensajes: 59
Antigüedad: 13 años, 7 meses
Puntos: 19
Respuesta: if user login wordpress

Bueno aquí les dejo este formulario de Login usando la base de datos de wordpress y verificando la contraseña si aún se guarda en md5 o si es con el nuevo sistema Hash.

Lo fuí armando de a poco por que mis conocimientos en php no son avanzados.. pero igual sé que se puede mejorar.

config.php usandolo en localhost... lógicamente.

Código PHP:
Ver original
  1. <?php
  2.  
  3. $server = "localhost";
  4.  
  5. $database = "wordpress";
  6.  
  7. $db_user = "root";
  8.  
  9. $db_pass = "";
  10.  
  11. $table = "wp_users";
  12.  
  13. ?>

login.html

Código HTML:
Ver original
  1. <form action="login.php" method="post">
  2. <p><strong>Login</strong></p>
  3. <p>Username:
  4. <input type="text" name="user_login" size="20">
  5. </p>
  6. <p>Password:
  7. <input type="password" name="user_pass" size="20">
  8. </p>
  9. <input type="submit" value="Log In">
  10. </form>

login.php

Código PHP:
Ver original
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5.  
  6. if (!$link = mysql_connect($server, $db_user, $db_pass)) {
  7.     echo 'No pudo conectarse a mysql';
  8.     exit;
  9. }
  10.  
  11. if (!mysql_select_db($database, $link)) {
  12.     echo 'No pudo seleccionar la base de datos';
  13.     exit;
  14. }
  15.  
  16. include_once('./blog/wp-config.php');
  17. include_once('./blog/wp-includes/wp-db.php');
  18.  
  19. global $userdata;
  20. global $wpdb;
  21.  
  22. $username = $_POST['user_login'];
  23. $password = $_POST['user_pass'];
  24.  
  25. $user_name = htmlspecialchars($username,ENT_QUOTES);
  26.  
  27. $pass_word = wp_hash_password($password);
  28.  
  29. $pass_md5 = md5($password);
  30.  
  31. $pass = $pass_word;
  32.  
  33. $userinfo = get_userdatabylogin($user_name);
  34.  
  35. if ( $pass == $userinfo->user_pass){
  36.  
  37.         echo "YES md5";
  38.  
  39.     } else
  40.  
  41.         echo "NO md5<br />";
  42.  
  43. $password = $_POST['user_pass'];
  44. $hash = $userinfo->user_pass;
  45. require_once( './blog/wp-includes/class-phpass.php');
  46. $wp_hasher = new PasswordHash(8, TRUE);
  47.  
  48. if ($wp_hasher->CheckPassword($password, $hash)) {
  49. $userinfo = get_userdatabylogin($user_name);
  50.     echo $userinfo->user_pass;
  51.     echo '<br />';
  52.     echo 'YES';
  53. }else{
  54.     echo 'NO';
  55.     }
  56.  
  57. ?>

Espero sus aportes para mejorar el código... la verdad no encontré ningún artículo completo y en español sobre esto (si lo escriben dejen el crédito jajajjajaj si lo hay)