Я новичок в разработке PHP и WordPress.
На моей странице WordPress я хочу проверить, присутствует ли aff_id
в строке запроса моей страницы как пользователь в моей базе данных WordPress с использованием AJAX.
Ниже приведен код JavaScript, который я разместил на своей странице WP с помощью плагина «Сценарии и стили»:
var affId = '';
affId = GetParameterValues('aff_id');
if (affId == undefined || affId == '')
affId = 'AKotawala';
const xhr = new XMLHttpRequest();
xhr.onload = function () {
alert(this.responseText);
};
xhr.open("POST", "../wp-includes/authenticate-user.php");
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("username=" + affId);
function GetParameterValues(param) {
var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for (var i = 0; i < url.length; i++) {
var urlparam = url[i].split('=');
if (urlparam[0] == param) {
return urlparam[1];
}
}
}
А вот и мой код PHP
аутентифицировать-user.php
<?php
$username = $_POST['username'];
if (my_username_exists($username))
echo "Exist";
else
echo "NotExist";
function my_username_exists($username) {
global $wpdb;
$count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(user_login) FROM $wpdb->users WHERE user_login = %s", $username));
return empty( $count ) || 1 > $count ? false : true;
}
?>
Когда страница загружается, мое окно предупреждения пусто.
Что я делаю не так?
Когда я жестко кодирую переменную $username
в моем PHP и запускаю файл как mydomain.com/wp-includes/authenticate-user.php
, он возвращает пустую страницу.
Я помещаю authenticate-user.php
в нужную папку?
Если да, какой должен быть URL, который я должен передать своей функции AJAX в JS?