Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как получить переменную из JS в PHP?
Форумы портала PHP.SU » » Вопросы новичков » Как получить переменную из JS в PHP?

Страниц (1): [1]
 

1. alxfro - 11 Июля, 2011 - 08:57:12 - перейти к сообщению
Вот допустим есть функция вызывающая запрос на JS:

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.  <script type="text/javascript">
  3. function show_prompt()
  4. {
  5. var name=prompt('Тестовый запрос, режим отладки','');
  6. if (name!=null && name!="")
  7.         {
  8.         alert('ОК')
  9.         }
  10.         else
  11.         {
  12.         alert('ERROR')
  13.         }
  14. }
  15. </script>
  16.  


Соответственно, как данные переменной name получить в PHP?

Сразу приношу извинения за столь ламерский вопрос, просто JS не моя стихия Однако
2. grefon - 11 Июля, 2011 - 09:32:06 - перейти к сообщению
PHP выполняется на стороне сервера, а JS на стороне клиента. По этому чтобы PHP обработал любую информацию, эту информацию нужно послать на сервер. Послать на сервер можно двумя способами:
1) Использовать AJAX и без перезагрузки страницы получить ответ от PHP.
2) Отправить данные с этой же страницы с ее перезагрузкой.

Про первый случай писать не хочу. Про второй - вариантов много. Можно сделать редирект на JS с вставкой в url GET запроса. Например так:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <script language="javascript">
  2. function a(){
  3.         var name=prompt('Тестовый запрос, режим отладки','');
  4.         document.location.search = 'a='+name;
  5. }
  6. </script>
  7.  
  8. <input type="button" value="Изменить URL" onclick="a()" />


И в этом случае в php Вы уже будете принимать переменную так:


Можно вставить в HTML форму и передать в нее значение из переменной а после чего отправить ее, и тогда PHP тоже примет данные через GET или POST запрос.
3. alxfro - 11 Июля, 2011 - 12:58:13 - перейти к сообщению
Хм.. Не понял
Да, с перенаправлением через GET спасибо.

Но так как для экономии времени (ибо ничего не нашел) я решил обмен данных между PHP и JS произвести через сеткуки в JS и геткуки в PHP, этот способ может поможет другим. Кстати, стабильно идет обмен данными без потерь. Единственный минус - приходится к значению устанавливаемой переменной в кукисах прибавлять '%', так как если это число, сервер вообще вылетает с какой-то непонятной защитой.

 

Powered by ExBB FM 1.0 RC1