Я пытаюсь включить переменные JavaScript в PHP-код как переменные PHP, но у меня возникают проблемы с этим. Когда нажимается кнопка, вызывается следующая функция:
<script type="text/javascript"> function addTraining(leve, name, date) { var level_var = document.getElementById(leve); var training_name_var = document.getElementById(name); var training_date_var = document.getElementById(date); <?php $result = "INSERT INTO training(level, school_name, training_date) VALUES('level_var', 'training_name_var', 'training_date_var')" or die("Query not possible."); ?> </script> 
Является ли это возможным?
PHP запускается на стороне сервера. JavaScript запускается на стороне клиента в браузере пользователя, запрашивающего страницу. К тому времени, когда выполняется JavaScript, на сервере нет доступа к PHP на сервере. Пожалуйста, прочитайте эту статью с подробной информацией о кодировании на стороне клиента и на стороне сервера .
Что происходит в двух словах:
  В вашем случае PHP будет писать JS-код на страницу, поэтому он может быть выполнен, когда страница отображается в вашем браузере.  К тому времени часть PHP в вашем фрагменте JS больше не существует.  Он был выполнен на сервере уже.  Он создал переменную $result , содержащую строку запроса SQL.  Вы не использовали его, поэтому, когда страница отправляется обратно в ваш браузер, она исчезла.  Посмотрите исходный код, когда страница отображается в вашем браузере.  Вы увидите, что в позиции, в которую вы помещаете PHP-код, ничего нет. 
Единственный способ сделать то, что вы хотите сделать, это либо:
со значениями, которые вы хотите вставить в базу данных.
 <script type="text/javascript"> var jvalue = 'this is javascript value'; <?php $abc = "<script>document.write(jvalue)</script>"?> </script> <?php echo 'php_'.$abc;?> 
Кажется, вы запутываете код на стороне клиента и сервера. Когда кнопка нажата, вам нужно отправить (отправить, получить) переменные на сервер, на котором может быть запущен php. Вы можете отправить страницу или использовать вызов ajax для отправки только данных. -дон
PHP работает на сервере. Он выводит некоторый текст (обычно). Затем он обрабатывается клиентом.
Во время и после разбора на клиенте выполняется JavaScript. На этом этапе для скрипта PHP слишком поздно что-либо делать.
Если вы хотите что-то вернуть на PHP, вам нужно создать новый HTTP-запрос и включить в него данные (либо в строке запроса (данные GET), либо в теле сообщения (данные POST).
Вы можете это сделать:
FormElement.submit() )   Какой бы вариант вы ни выбрали, PHP по сути тот же.  Читайте из $_GET или $_POST , запустите свой код базы данных, затем верните некоторые данные клиенту. 
У меня была такая же проблема несколько недель назад, как и у вас; но я придумал блестящее решение для обмена переменными между PHP и JavaScript. Это сработало для меня хорошо:
Создание скрытой формы на HTML-странице
Создайте текстовую или текстовую область в этой скрытой форме
После всего вашего кода, написанного в скрипте, сохраните окончательное значение переменной в этом текстовом поле
Используйте строку $ _REQUEST ['textbox name'] в вашем PHP, чтобы получить доступ к значению вашей переменной JavaScript.
Надеюсь, этот трюк будет работать для вас.
Вы можете принимать все значения следующим образом:
 $abc = "<script>document.getElementByID('yourid').value</script>"; 
Вы можете делать то, что хотите, но не так. Что вам нужно сделать, так это сделать запрос AJAX от JavaScript обратно на сервер, где отдельный сценарий PHP может выполнять операцию с базой данных.