Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   data Ajax из переменной js в переменную php (https://javascript.ru/forum/jquery/74249-data-ajax-iz-peremennojj-js-v-peremennuyu-php.html)

stormgota 24.06.2018 21:00

data Ajax из переменной js в переменную php
 
Напишите ajax код который передаст из переменной js например var x1 = 10;
В php переменную $b;
Обьяснения не требую прошу просто готовый аякс код !Спасибо

laimas 24.06.2018 21:41

Цитата:

Сообщение от stormgota
Напишите ajax код который передаст из переменной js например var x1 = 10;
В php переменную $b;

Этого сделать нельзя. Ajax запрос это чисто клиентский код, который может передать под каким либо параметром запроса какое либо значение. А что с этим запросом будет будет на сервере клиента не интересует, то есть в $b или иное не клиент определяет, непосредственно к Ajax это отношения не имеет.

https://learn.javascript.ru/ajax-xmlhttprequest

Nexus 25.06.2018 13:01

function set_php_variable(value) {
    var xhr = new XMLHttpRequest();
    xhr.open('POST', '/listener.php', false);
    xhr.send('variable=' + encodeURIComponent(value));
}

var x1=10;
set_php_variable(x1);


$b = isset($_POST['variable']) ? htmlspecialchars($_POST['variable']) : null;

var_dump($b);

laimas 25.06.2018 13:25

Цитата:

Сообщение от Nexus
htmlspecialchars($_POST['variable'])

А это зачем?

Nexus 25.06.2018 13:31

laimas, это на случай сохранения данных в бд.

laimas 25.06.2018 13:43

Вот как раз при сохранении в базу поступать подобным образом, это вредно.

Nexus 25.06.2018 13:50

laimas, лучше так, чем заливать как есть.
Можно addslashes заюзать, если итоговый размер записи крайне важен.

laimas 25.06.2018 14:03

Цитата:

Сообщение от Nexus
лучше так

Так делать плохо, даже если и не для базы. Преобразование в html сущности производят при выводе в браузер. Если полученное предполагается вернуть клиенту, то сначала проверка принятого и только потом htmlspecialchars, а не иначе. Я не стану пояснять почему это вредно, особенно при помещении в базу, просто стоит вспомнить например о поиске, выводе части строки и т.п. И при работе с базой не addslashes, а соответствующие функции SQL.

Nexus 25.06.2018 14:13

laimas, в задаче почти ничего не известно о том, что за данные будут передаваться и что с ними будет происходить.
Также неизвестно какой драйвер бд используется и используется ли бд вообще.

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

laimas 25.06.2018 14:21

Nexus, причем тут драйвер? Вообще, принять и сразу htmlspecialchars, это либо от пугливости, либо от непонимания. :)

Нельзя так делать.


Часовой пояс GMT +3, время: 11:00.