Первое, что вы хотите сделать в таких случаях, - это проверить логи вашего сервера на наличие ошибок PHP.Это зависит от того, какой веб-сервер вы используете, и от его конфигурации.
Также вы можете проверить консоль JavaScript вашего браузера на наличие ошибок в инструментах разработчика (по умолчанию вы можете открыть консоль, нажав Ctrl + Shift + J наБраузеры на основе хрома).
После некоторых изменений он работает на моих тестах.
fun.php
<?php
function pre_invoice($value) {
// Your code
}
Я удалил public
, это не метод класса, поэтому он не может иметь ключевое слово public / private (это приводило к ошибке PHP)
Я добавил <?php
чтобы указать начало PHP-кода, нам не нужно закрывать его, так как в этом файле нет дополнительного HTML-кода
form.php
<form method="POST">
<input type="submit" name="submit" />
</form>
(этот файл совпадает с предоставленным вами)
index.php
<?php
require_once 'fun.php';
if(isset($_POST['submit'])){
pre_invoice(999);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
<div id="form"></div>
<!-- Load jQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Load form -->
<script>
$("#form").load('form.php');
// We load the form only once
// setInterval would load the form many times (in your code every 3 seconds)
</script>
</body>
</html>
(я не уверен, что вы предоставили только часть своего HTML-файла)
Я добавил базовую структуру HTML (и т. Д.)
Я добавил jQuery библиотека для поддержки он $
(это приводило к ошибке на консоли браузера) (я загрузил jQuery из CDN Google, вы можете разместить его локально)
Я удалилsetInterval
так как я думаю, что вам это не нужно, вам не нужно загружать форму каждые 3 секунды
PS: ваш код вставки SQL также может вызывать ошибки.
Обновление после полного form.php
Проверка Форма внутри таблицы
Поскольку ваш код недействителен, результат дела другой1, где браузер загружает по умолчанию ваш HTML-код, и случай 2, где HTML-идентификатор динамически загружается.
Итак, вы должны переместить тег <form>
за пределы таблицы или внутри <td>
.