Я хочу передать переменные JavaScript в PHP, используя скрытый ввод в форме.
Но я не могу получить значение $_POST['hidden1']
в $salarieid
. Что-то не так?
Вот код:
<script type="text/javascript">
// View what the user has chosen
function func_load3(name) {
var oForm = document.forms["myform"];
var oSelectBox = oForm.select3;
var iChoice = oSelectBox.selectedIndex;
//alert("You have chosen: " + oSelectBox.options[iChoice].text);
//document.write(oSelectBox.options[iChoice].text);
var sa = oSelectBox.options[iChoice].text;
document.getElementById("hidden1").value = sa;
}
</script>
<form name="myform" action="<?php echo $_SERVER['$PHP_SELF']; ?>" method="POST">
<input type="hidden" name="hidden1" id="hidden1" />
</form>
<?php
$salarieid = $_POST['hidden1'];
$query = "select * from salarie where salarieid = ".$salarieid;
echo $query;
$result = mysql_query($query);
?>
<table>
Code for displaying the query result.
</table>
php
javascript
variables
Солнце цзянгун
источник
источник
Ответы:
Вы не можете передавать значения переменных из JavaScript-кода текущей страницы в PHP-код текущей страницы ... PHP-код выполняется на стороне сервера, и он ничего не знает о том, что происходит на стороне клиента.
Вам необходимо передать переменные в код PHP из формы HTML, используя другой механизм, такой как отправка формы с помощью методов GET или POST.
источник
mysql_
функции; не было бы целью ответить на этот вопрос с полной перепиской.Просто сохраните его в печенье:
А затем прочитайте это с помощью PHP:
Это не симпатичное решение, но оно работает.
источник
Существует несколько способов передачи переменных из JavaScript в PHP (конечно, не на текущей странице).
Ты мог:
Я уверен, что это можно сделать, чтобы выглядеть более изящно и проходить по всем переменным и так далее - но я придерживался базового принципа, чтобы его было легче понять новичкам.
источник
Вот рабочий пример: Получить значение переменной javascript на той же странице в php.
источник
echo "<script>document.writeln(p1);</script>";
использует переменную javascriptp1
в javascript , а не в php.document.writeln
является функцией javascript , которую вы выполняете в браузере, пока браузер создает страницу HTML.PHP запускается на сервере до того, как страница отправляется пользователю, JavaScript запускается на компьютере пользователя после его получения, поэтому сценарий PHP уже выполнен.
Если вы хотите передать значение JavaScript в скрипт PHP, вам нужно выполнить запрос XMLHttpRequest, чтобы отправить данные обратно на сервер.
Вот предыдущий вопрос, за которым вы можете следить за дополнительной информацией: Ajax Tutorial
Теперь, если вам просто нужно передать значение формы на сервер, вы также можете просто сделать обычную запись формы, которая делает то же самое, но вся страница должна быть обновлена.
Нажав кнопку «Отправить», вы отправите страницу и распечатаете отправленные данные.
источник
Я пытался понять это сам, а затем понял, что проблема в том, что это своего рода обратный взгляд на ситуацию. Вместо того, чтобы пытаться передавать вещи из JavaScript в php, возможно, в большинстве случаев лучше пойти другим путем. PHP-код выполняется на сервере и создает HTML-код (и, возможно, также Java-скрипт). Затем браузер загружает страницу и выполняет сценарии html и java.
Кажется, что разумный способ приблизиться к подобным ситуациям - это использовать PHP для создания JavaScript и HTML, который вы хотите, а затем использовать JavaScript на странице, чтобы сделать то, что PHP не может сделать. Кажется, что это даст вам преимущества как PHP, так и JavaScript довольно простым и понятным способом.
Одна вещь, которую я сделал, которая создает видимость передачи вещей в PHP с вашей страницы на лету, - это использование html image tag для вызова PHP-кода. Что-то вроде этого:
PHP-код в pic.php фактически создает HTML-код еще до того, как ваша веб-страница была загружена, но этот HTML-код в основном вызывается на лету. Здесь можно использовать php-код для создания изображения на вашей странице, но в нем могут быть любые понравившиеся вам команды, кроме этой. Может быть, это меняет содержимое некоторых файлов на вашем сервере и т. Д. Преимущество в том, что код php можно выполнить из html, и я предполагаю, что JavaScript, но недостатком является то, что единственный вывод, который он может поместить на вашу страницу, это образ. У вас также есть возможность передачи переменных в код php через параметры в URL. Счетчики страниц будут использовать эту технику во многих случаях.
источник
Мы можем легко передавать значения даже на одинаковых / разных страницах, используя файлы cookie, показанные в коде, следующим образом (в моем случае я использую его с интеграцией с Facebook) -
И я получил к нему доступ (в любом файле) с помощью -
источник
Вот как я это сделал (мне нужно было вставить местный часовой пояс в PHP:
источник
Ваша функция, которая устанавливает скрытое значение формы, вызывается? Это не в этом примере. У вас не должно возникнуть проблем с изменением скрытого значения перед отправкой формы обратно на сервер.
источник
В вашем коде есть несколько ошибок.
Можно установить переменную JavaScript в скрытой переменной в форме, затем отправить ее и прочитать значение обратно в PHP. Вот простой пример, который показывает это:
источник
когда ваша страница впервые загружает код PHP, сначала запустите и установите полный макет вашей веб-страницы. после разметки страницы устанавливается загрузка JavaScript. теперь JavaScript напрямую взаимодействует с DOM и может манипулировать макетом, но PHP не может обновлять страницу. Единственный способ - обновить страницу и передать параметры в URL-адресе страницы, чтобы вы могли получать данные через PHP. Поэтому мы используем AJAX для взаимодействия Javascript с PHP без перезагрузки страницы. AJAX также может использоваться как API. еще одна вещь, если вы уже объявили переменную в PHP. перед загрузкой страницы вы можете использовать ее с вашим примером Javascript.
приведенный выше код является правильным, и он будет работать. но приведенный ниже код совершенно неверен и никогда не сработает.
Передать значение из JavaScript в PHP через AJAX
это самый безопасный способ сделать это. потому что HTML-контент можно редактировать с помощью инструментов разработчика, а пользователь может манипулировать данными. так что лучше использовать AJAX, если вы хотите обеспечить безопасность этой переменной. Если вы новичок в AJAX, пожалуйста, изучите AJAX, это очень просто.
простой пример AJAX
в противном случае вы можете создать скрытый ввод HTML внутри вашей формы. лайк
затем через jQuery или javaScript передайте значение в скрытое поле. лайк
Теперь, когда вы отправляете форму, вы можете получить значение в PHP.
источник
Возможно, вы могли бы использовать метод jquery serialize (), чтобы все было сразу.
// таким образом вы можете получить скрытое значение также на стороне сервера.
источник
Это очевидно решение не было упомянуто ранее. Вы также можете использовать куки для передачи данных из браузера обратно на сервер.
Просто установите cookie с данными, которые вы хотите передать в PHP, используя JavaScript в браузере.
Затем просто прочитайте этот файл cookie на стороне PHP.
источник
Мы не можем передавать значения переменных JavaScript непосредственно в код PHP ... Код PHP выполняется на стороне сервера, и он ничего не знает о том, что происходит на стороне клиента.
Поэтому лучше использовать AJAX для анализа значения JavaScript в коде php.
Или же мы можем сделать это с помощью COOKIES в нашем коде.
Спасибо и ура.
источник