Как изменить переменную php по событию onclick?

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

от ciara , в категории: PHP , 7 месяцев назад

Как изменить переменную php по событию onclick?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от lilla.herman , 7 месяцев назад

@ciara 

Чтобы изменить переменную PHP по событию onclick, вам нужно выполнить следующие действия:

  1. Создайте элемент HTML, например кнопку, с атрибутом onclick:
1
<button onclick="changeVariable()">Изменить переменную</button>


  1. Создайте соответствующую функцию JavaScript с именем changeVariable(), в которой вы будете отправлять AJAX-запрос на сервер:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
function changeVariable() {
  // Создание AJAX-запроса
  var xhr = new XMLHttpRequest();
  
  // Установка метода и адреса для отправки запроса
  xhr.open('POST', 'change_variable.php', true);
  
  // Установка заголовков, если необходимо
  
  // Обработка ответа от сервера
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE) {
      // Выполнение действий после получения ответа от сервера
      if (xhr.status === 200) {
        // Действия при успешном выполнении запроса
        console.log('Переменная успешно изменена');
      } else {
        // Действия при ошибке выполнения запроса
        console.log('Ошибка изменения переменной');
      }
    }
  }
  
  // Отправка запроса на сервер
  xhr.send();
}


  1. Создайте файл change_variable.php, в котором будет происходить изменение переменной на стороне сервера:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<?php
// Получение текущего значения переменной
$variable = $_SESSION['variable'];

// Изменение значения переменной
$variable = 'Новое значение';

// Сохранение измененного значения переменной
$_SESSION['variable'] = $variable;
?>


Обратите внимание, что в примере я использовал AJAX-запрос для отправки данных на сервер без перезагрузки страницы. Если вам необходимо обновить значение переменной с перезагрузкой страницы, вы можете изменить код и использовать обычный запрос формы на сервер.