مقدارهای ارسالی فرم رو نمیگیره و وقتی هم تست میکنم مقدار خالی برمیگردونه.
$('#loginForm').on('submit', function (event) {
event.preventDefault();
let user_email = $('#userEmail').val();
let user_password = $('#userPassword').val();
let notify = $('.alert');
$.ajax({
url: '/testshop/wp-admin/admin-ajax.php',
type: 'post',
dataType: 'json',
data: {
action: 'wp_auth_login',
user_email: user_email,
user_password: user_password
},
success: function (response) {
},
error: function (error) {
if (error) {
let message = error.responseJSON.message;
notify.addClass('alert-error');
notify.append('<p>'+ message +'</p>');
notify.css('display', 'block');
}
}
});
});
function wp_auth_do_login()
{
$userEmail = sanitize_text_field($_POST['userEmail']);
$userPassword = sanitize_text_field($_POST['userPassword']);
$validationResult = wp_auth_validate_email_password($userEmail, $userPassword);
if (!$validationResult['is_valid']) {
wp_send_json([
'success' => false,
'message' => $validationResult['message'],
'email' => $userEmail,
], 403);
}
}
add_action('wp_ajax_nopriv_wp_auth_login', 'wp_auth_do_login');
function wp_auth_validate_email_password($email, $password)
{
$result = [
'is_valid' => true,
'message' => ""
];
if (is_null($email) || empty($email)) {
$result['is_valid'] = false;
$result['message'] = 'ایمیل نمیتواند خالی باشد';
return $result;
}
if (is_null($password) || empty($password)) {
$result['is_valid'] = false;
$result['message'] = 'پسورد نمیتواند خالی باشد';
return $result;
}
if (!is_email($email)) {
$result['is_valid'] = false;
$result['message'] = 'ایمیل معتبر نمیباشد';
return $result;
}
}
<form action="" method="post" id="loginForm">
<div class="form-row">
<label for="userEmail">ایمیل : </label>
<input type="email" name="userEmail" id="userEmail" value="">
</div>
<div class="form-row">
<label for="userPassword">کلمه عبور : </label>
<input type="password" name="userPassword" id="userPassword" value="">
</div>
<div class="form-row">
<button name="submitLogin">ورود</button>
</div>
</form>