Подтвердить что ты не робот

Отправить переменную javaScript в переменную php

Возможный дубликат:
Как передать переменные 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 далее на моей веб-странице...

Итак, есть ли простой способ сделать это, не удаляя страницы кода на моей странице, чтобы сделать одну простую вещь?

4b9b3361

Ответ 1

Поскольку Иордания уже говорила, вы должны отправить обратно javascript-переменную на свой сервер, прежде чем сервер сможет обработать это значение. Для этого вы можете либо запрограммировать функцию javascript, которая отправляет форму, либо вы можете использовать ajax/jquery. jQuery.post

Возможно, самый простой для вас подход - это что-то вроде этого

function myJavascriptFunction() { 
  var javascriptVariable = "John";
  window.location.href = "myphpfile.php?name=" + javascriptVariable; 
}

На вашем myphpfile.php вы можете использовать $_GET['name'] после выполнения javascript.

Привет

Ответ 2

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'];

Ответ 3

Это зависит от того, как ведет себя ваша страница. Если вы хотите, чтобы это происходило асинхронно, вы должны использовать AJAX. Попробуйте "jQuery post()" в Google, чтобы найти некоторые ссылки.

В другом случае, если это произойдет, когда пользователь отправит форму, вы можете отправить эту переменную в скрытое поле или добавить ?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 или метода append to url, упомянутого выше (querystring).