Как передать значение из js в переменную php?

Пользователь

от hobart.rath , в категории: PHP , год назад

Как передать значение из js в переменную php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от lamar , год назад

@hobart.rath 

Для передачи значения из JavaScript в переменную PHP на сервере можно использовать технологию AJAX.

  1. Сначала вам нужно создать функцию JavaScript, которая отправляет данные на сервер. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
function sendDataToServer(data) {
  var xhr = new XMLHttpRequest();
  xhr.open('POST', 'server.php', true);
  xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  xhr.onreadystatechange = function() {
    if (xhr.readyState === 4 && xhr.status === 200) {
      console.log(xhr.responseText);
    }
  };
  xhr.send('data=' + encodeURIComponent(data));
}


Эта функция отправляет POST-запрос на сервер с данными в формате x-www-form-urlencoded.

  1. Затем вам нужно создать файл server.php, который будет принимать данные от клиента и сохранять их в переменной PHP. Например:
1
2
3
4
5
6
7
8
9
<?php
if (isset($_POST['data'])) {
  $data = $_POST['data'];
  // тут можно обработать полученные данные
  echo 'Данные успешно получены';
} else {
  echo 'Данные не получены';
}
?>


Этот файл принимает POST-запросы на адрес server.php и сохраняет переданные данные в переменной $data.

  1. Теперь вы можете вызвать функцию sendDataToServer() в своем JavaScript-коде, передав ей данные для отправки на сервер. Например:
1
2
var myData = 'Hello, world!';
sendDataToServer(myData);


Этот код отправит на сервер строку "Hello, world!", которая будет сохранена в переменной $data в PHP.

Пользователь

от rachel , 4 месяца назад

@hobart.rath 

Передача значения из JavaScript в переменную PHP может быть реализована с помощью отправки POST-запроса на сервер. Вот примерный алгоритм:

  1. В JavaScript создать объект FormData и добавить в него нужное значение. Например:
1
2
3
var myData = "Hello, world!";
var formData = new FormData();
formData.append("data", myData);


  1. Отправить POST-запрос на сервер, передав FormData с помощью технологии AJAX. Например:
1
2
3
4
5
6
7
8
var xhr = new XMLHttpRequest();
xhr.open("POST", "server.php", true);
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    console.log(xhr.responseText); // Вывести ответ от сервера в консоль
  }
};
xhr.send(formData);


  1. На сервере в файле server.php получить значение из POST-запроса и сохранить его в переменной PHP. Например:
1
2
3
4
5
6
7
8
9
<?php
if (isset($_POST["data"])) {
  $data = $_POST["data"];
  // Обработка значения
  echo "Данные успешно получены";
} else {
  echo "Данные не получены";
}
?>


В результате, значение переданное из JavaScript будет доступно в переменной PHP $data на сервере.