Проблема с вызовом PHP функции через JavaScript
Пытаюсь выполнить PHP функцию из JavaScript, но ничего не работает. Вот мой код:
function removeAllRecords(){
$delete_query = "DELETE FROM products";
if (!$query_result = mysqli_query($connection, $delete_query))
{
echo "<br>Ошибка выполнения запроса<br>";
exit();
}
echo "Все записи удалены!";
}
echo "<script type='text/javascript'>
function onDeleteClick()
{
<?php removeAllRecords(); ?> //Эта функция не вызывается
}
</script>";
Уже пробовал разные варианты: "<?php removeAllRecords(); ?>"
, \"<?php removeAllRecords(); ?>\"
, просто removeAllRecords();
.
Что я делаю не так? Подскажите пожалуйста как правильно вызвать PHP функцию из JavaScript.
тут проблема в том что php выполняется на сервере еще до того как страница попадет в браузер. когда пользователь нажмет на кнопку, php код уже давно отработал. нужно создать отдельный php файл например delete.php с функцией удаления, а в джаваскрипте делать запрос на этот файл через xmlhttprequest или fetch. так данные будут обновляться без перезагрузки страницы и функция сработает именно тогда когда нужно
Короче говоря - так не работает. PHP код выполняется когда страница генерируется на сервере, а не когда юзер кликает. Сделай так: создай endpoint (например через $_POST проверку) в том же файле, куда будешь слать ajax запрос. В onDeleteClick() используй fetch(‘/твой_файл.php’, {method: ‘POST’, body: ‘action=delete’}) и обрабатывай ответ. Это стандартный подход для таких задач.
Попробуй использовать AJAX или fetch API, чтобы вызвать PHP функцию после нажатия кнопки. PHP работает на сервере, а JavaScript - в браузере, поэтому без этого вызова не сработает.