Возможный дубликат:
Как передать переменные JavaScript в PHP?
Сначала я подумал, что мне нужно преобразовать javascript в php, но потом я узнал, что не могу из-за выполнения на сервере и на стороне клиента. Так что теперь я просто хочу отправить ONE переменную
<script type="text/javascript"> function scriptvariable() { var theContents = "the variable"; } </script>
к переменной php
<?php $phpvariable ?>
Эта функция в javascript выполняется, если, скажем, я нажимаю кнопку.
Теперь я не знаю, как назначить этот phpvariable для javascript, чтобы использовать phpvariable для поиска материала в моей базе данных. Я знаю, что могу добавить его в свой url или что-то еще и обновить страницу. Но я хотел бы сделать это с AJAX, поскольку мне, возможно, придется использовать этот метод Ajax далее на моей веб-странице …
Итак, есть ли простой способ сделать это, не удаляя страницы кода на моей странице, чтобы сделать одну простую вещь?
Поскольку Иордания уже говорила, что вам нужно отправить обратно переменную javascript на ваш сервер, прежде чем сервер сможет обработать значение. Для этого вы можете либо запрограммировать функцию javascript, которая отправляет форму, либо вы можете использовать ajax / jquery. jQuery.post
Возможно, самый простой для вас подход – это что-то вроде этого
function myJavascriptFunction() { var javascriptVariable = "John"; window.location.href = "myphpfile.php?name=" + javascriptVariable; }
На вашем myphpfile.php вы можете использовать $_GET['name']
после выполнения javascript.
С уважением
PHP работает на сервере, а Javascript запускается на клиенте, поэтому вы не можете установить переменную PHP равной переменной Javascript без отправки значения на сервер. Однако вы можете установить переменную Javascript равной переменной PHP:
<script type="text/javascript"> var foo = '<?php echo $foo ?>'; </script>
Чтобы отправить значение Javascript на PHP, вам нужно использовать AJAX. С jQuery это выглядело бы примерно так (возможно, самый простой пример):
var variableToSend = 'foo'; $.post('file.php', {variable: variableToSend});
На вашем сервере вам нужно будет получить переменную, отправленную в сообщение:
$variable = $_POST['variable'];
Это зависит от того, как ведет себя ваша страница. Если вы хотите, чтобы это происходило асинхронно, вы должны использовать AJAX. Попробуйте «jQuery post ()» в Google, чтобы найти некоторые вещи.
В другом случае, если это произойдет, когда пользователь отправит форму, вы можете отправить эту переменную в скрытое поле или добавить « ?variableName=someValue"
чтобы затем ?variableName=someValue"
URL-адрес, который вы открываете.
http://www.somesite.com/send.php?variableName=someValue
или
http://www.somesite.com/send.php?variableName=someValue&anotherVariable=anotherValue
Таким образом, с PHP вы можете получить доступ к этому значению как:
$phpVariableName = $_POST["variableName"];
для форм, использующих метод POST, или:
$phpVariableName = $_GET["variableName"];
для форм с использованием метода GET или добавления метода url, о котором я говорил выше (querystring).