Функция входа в WordPress не работает, используя php - PullRequest
2 голосов
/ 04 февраля 2020

Привет. Я пытаюсь войти в систему с помощью функции 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;
    }      
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...