Я форму с полем ввода пароляфункция Php всегда возвращает ноль
<form id="form-login" class="row-fluid" novalidate="novalidate" method="post" action="#">
<input class="span12" type="password" name="password" pattern="[0-9 ]{5,15}" />
</form>
при отправки формы я делаю вызов Ajax:
...
var data = $('form').serialize();
$.ajax({
url: "/wp-admin/admin-ajax.php", // wordpress
type: "POST",
data: data + '&action=login_check',
cache: false,
success: function (html) {
$('.loading').hide();
if (html == 0) {
$('.undone').fadeIn('slow');
} else if (html == 1) {
$('.done').fadeIn('slow');
}
}
});
return false;
...
что проверить пароль, используя эту функцию в functions.php
(Wordpress):
function login_check(){
$pw = 'hello';
if(md5($pw) == md5($_POST['password'])){
$_SESSION['key'] = 1;
return 1;
} else {
return 0;
}
die();
}
add_action('wp_ajax_login_check', 'login_check');
add_action('wp_ajax_nopriv_login_check', 'login_check');
, и я хочу, что данная функция возвращает 0 или 1 в success
функция в вызове ajax. Но он всегда возвращает 0
, также при вводе правильного пароля. Где я не прав?
var_dump($_POST);
array(3) {
["password"]=>
string(5) "hello"
["s"]=>
string(0) ""
["action"]=>
string(11) "login_check"
}
Что вы получаете в 'var_dump ($ _ POST)'? –
Попробуйте поставить оператор return в if, также. Current Это только условие else. И затем проверьте –