2015-06-20 3 views
0

Я пытаюсь создать форму входа в систему с помощью wp_signon. Я новичок в WordPress. После этого он не перенаправляется. Мой код:wp_signon не перенаправляет на страницу

<?php 
global $wpdb; 
$username=$_POST['username']; 
$password=$_POST['password']; 
$creds = array(); 
$creds['user_login'] =$username ; 
$creds['user_pass'] = $password; 
$creds['remember'] = true; 
$user = wp_signon($creds, false); 

wp_redirect('myurl here'); 
?> 
<form action="" method="post"/> 
    <input type="text" name="username" placeholder="Username"/> 
    <input type="text" name="password" placeholder="Password"/><br> 
    <input type="submit" name="submit" value="Submit"> 
</form> 

Отредактировано: Я добавил это после того, как мой код:

if (is_wp_error($user)) 
echo $user->get_error_message(); 

и когда я пытаюсь войти с именем пользователя и паролем есть сообщение:

ERROR: The password field is empty. I enter correct username and password. What is this due to?

+0

Это - весь мой код. Разве это не в начале страницы? Как это исправить? :) –

+0

есть ли какой-либо подключаемый модуль, связанный с логином пользователя или аутентификацией? – vrajesh

ответ

1

не слишком далеко, но у вас есть пара ошибок.

  1. Ваш код обработки формы и перенаправление будут пытаться запустить, была ли получена полученная информация или нет.
  2. Вы должны вручную закрыть код после wp_redirect

Вы также должны смотреть на форму безопасности, которые я уже не охвачены здесь.

<?php 

    if($_POST): 

     $username=$_POST['username']; 
     $password=$_POST['password']; 
     $creds = array(); 
     $creds['user_login'] =$username ; 
     $creds['user_pass'] = $password; 
     $creds['remember'] = true; 
     $user = wp_signon($creds, false); 


     if (is_wp_error($user)): 
      echo $user->get_error_message(); 
     else: 
      wp_redirect('myurl here'); 
      exit(); // you need to manually exit to get wp_redirect to work 
     endif; 
    endif; 

    ?> 

    <form action="" method="post"/> 
     <input type="text" name="username" placeholder="Username"/> 
     <input type="text" name="password" placeholder="Password"/><br> 
     <input type="submit" name="submit" value="Submit"> 
    </form> 
Смежные вопросы