I keep looking my error , but I can't find it. My php and js script works fine 5 month ago when I let them to dedicate myself to design Normally this ajax query must be launch from my plugin ( and works fine before) , but to try to resolve my problem I relocate them to template without change.
Could you please help me to understand where is located my error ? I have always Error 500 and I can't have any errors to help me to resolve .
Form :
<div id="FormLogin" >
<form id="LogAtv" method="post" action="atv_user_login" >
<p> Id User</p>
<input id='IdUser' name="user_login" type="text" required="required" autocomplete="username">
<p> Password</p>
<input id="PasswordUser" type="password" name="user_pass" autocomplete="new-password" required="required">
<input type="submit" name="Atvsubmit" id="btn_Login" value="Valider ">
<p class="status"></p>
</form>
PhP:
`function atv_user_admin() {
wp_enqueue_script('script', get_template_directory_uri() . '/script/test.js', array('jquery'), '1.0', true);
wp_localize_script('script', 'wpAjax', array('ajaxUrl' => admin_url('admin-ajax.php')));
}
add_action('login_enqueue_scripts', 'atv_user_admin');
add_action('wp_enqueue_scripts', 'atv_user_admin');
add_action('wp_ajax_atv_user_login','handle_user_login');
add_action('wp_ajax_nopriv_atv_user_login', 'handle_user_login');
function handle_user_login(){
$log_param = isset($_REQUEST['log-param'])?trim($_REQUEST['log-param']):"";
if($log_param == "login_data" ){
$info = array();
$info['user_login'] = $_POST[user_login];
$info['user_password'] = $_POST[user_pass];
$info['remember'] = true;
//$isActivated = get_user_meta($info->ID, 'is_activated', true);
$user_signon = wp_signon($info, false);
if(is_wp_error($user_signon)){
$error_string = $user_signon->get_error_message();
echo json_encode(array('status' => 0));
echo '<div id="message" class="error"><p>' . $error_string . '</p></div>';
}else{
if($isActivated !== 1){
echo json_encode(array('useremailauth' =>'Description text'));
}else{
echo json_encode(array('status' => 1));
wp_clear_auth_cookie();
wp_set_auth_cookie( $info->ID, true, is_ssl() );
wp_user_settings($info->ID);
setcookie('useratv','connected', time() + (3600), "/");
wp_set_current_user($info->ID, $username);
if(is_user_logged_in()){
$current_user = wp_get_current_user();
$userpicture = "test";
echo json_encode(array('userpicture' => $userpicture));
}
}
}
}
wp_die();
}`
jquery:ajax (test.js)
$(document).ready(function() {
$(function(){
$('#btn_Login').on('click', function(e){
e.preventDefault();
var formdata = $('#LogAtv').serialize();
formdata += '&action=atv_user_login&log-param=login_data';
console.log(formdata);
$.ajax({
url:wpAjax.ajaxUrl,
data:formdata,
type:'POST',
dataType: 'json',
success:function(response){
console.log(response);
if(response.status == 1) {
alert('user exist');
console.log("UserCorrecte");
}
if(response.status !== 1) {
alert("User does not exist");
console.log(response.errorstype);
}
},
error: function (request, status, error) {
console.log(request.responseText);
}
});
});
});
});
"POST /wp-admin/admin-ajax.php HTTP/1.1" 200 47 website.com "https://website.com/wp-admin/
. The log says me that ajax is well called from main domain but the console says it called from subdomainstatus of 500 () : https://sub1.domain.com/wp-admin/admin-ajax.php
. I have already verify if called several time Ajax , but this is not the caseHTTP 500
is a super generic something went wrong message