首页 > 解决方案 > wordpress 登录功能无法使用 php

问题描述

嗨,我正在尝试使用 Wordpress wp_signon() 函数登录用户,但它总是出现错误,例如此密码与标识符不对应。还有其他类似的问题,但他们还没有解决这个问题。我检查了我传递的所有参数,它们是正确的,并使用数据库检查正确的数据。我已经给出了我的代码,请帮助我。

if(array_key_exists('login_submit',$_POST))
{

$log = $_POST['log']; 
$pwd = $_POST['pwd']; 
//$rememberme = $_POST['rememberme'];

$login_array = array();

$login_array['user_login'] = $log;
$login_array['user_password'] = $pwd;

//$login_array['remember'] = $rememberme;

$verify_user = wp_signon($login_array, true);

if(!is_wp_error($verify_user))
{
  echo "<script>alert('Help!')</script>";

      $user = get_user_by( 'login', $log );
      wp_setcookie($log, $pwd, true);
      wp_set_current_user($user->ID, $log);
      do_action('wp_login', $log);

      if(in_array( 'Manager', (array) $user->roles))
     {
         $res = $wpdb->get_results("SELECT * FROM wp_candidate WHERE utilisateurCand='".$log."' AND passeCand='".$pwd."'");
         wp_redirect('http://example.com.com/acces-au-dossier-de-candidature-manager/');
         exit;
     }
    else if ( in_array( 'subscriber', (array) $user->roles ) )
    {

      $res = $wpdb->get_results("SELECT * FROM wp_candidate WHERE utilisateurCand='".$log."' AND passeCand='".$pwd."'");

      echo$uid=$res[0]->user_id;
      wp_redirect("http://example.com/candidature-application-file/?user_id=$uid");

        exit;

    }
    else
    {   
        echo $user->get_error_message();
      exit;
    }      
}

标签: phpmysqlwordpress

解决方案


推荐阅读