Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Передача переменной из js в php

Максим Гаврилов Ученик (74), на голосовании 8 месяцев назад
не могу передать переменную из js в php
$fon = $_POST['JSON']; всегда пустой.

Я хочу чтобы при клике на .img-item брался его src и отправлялась по форме в бд
src при клике я получил но не могу отправить по XMLHttpRequest
jquery ajax трогать не хочу

js код

 Клик на картинку
let btns = document.querySelectorAll('.img-item');
btns.forEach((btn) => {
btn.addEventListener('click', () => {
getParentId(btn);
});
});

передача src на предпоказ и отправка в форму
function getParentId(el) {
const src = el.src;
document.querySelector('.preview-fon').src=src;
const Http = new XMLHttpRequest();
const url='edit-fon.php';
Http.open("POST", url);
Http.setRequestHeader("Content-Type", "application/json");
Http.send(JSON.stringify(src));
};


php с обработчиком формы


     session_start();
// подключение к bd
require_once 'connect.php';
require_once '../inc/function.php';
$fon = $_POST['JSON'];

mysqli_query($connect, "UPDATE `Users` SET `fon` = '$fon' WHERE `login` = '$login'");
?>
сама форма
  


Фон профиля





















Голосование за лучший ответ
Игн Поляк Мастер (1269) 10 месяцев назад
Это лучше у chatgpt спросить
Максим ГавриловУченик (74) 10 месяцев назад
А я решил тут)
Игн Поляк Мастер (1269) Максим Гаврилов, тут в основном профессионалы в области приколов и домашних заданий окружающий мир 4 класс
ДАНИЛ Стар Знаток (465) 10 месяцев назад
function getParentId(el) {
const src = el.src;
document.querySelector('.preview-fon').src = src;
const Http = new XMLHttpRequest();
const url = 'edit-fon.php';
Http.open ("POST", url);
Http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // изменено на форму
Http.send("src=" + src); // изменено на src
};


Затем в вашем PHP-обработчике вы можете получить значение переменной src следующим образом:
php
$fon = $_POST['src'];
Сергей Просветленный (42628) 9 месяцев назад
Слушайте, методы GET и POST вы разбирали вообще? В обоих методах (в GET — в url-адресе, в POST — в теле запроса) должны быть пара ключ-значение. К примеру, на этой странице если вы кликните по ссылка «Почта», то перейдёте по такой ссылке:
mail. ru/c/?mt_sub1=otvet.mail.ru . Видите пару? Вы пытаетесь получить $_POST["JSON"]. А где у вас в коде задаётся ["JSON": src]?

И да. Надеюсь, вы понимаете, что ни при каких обстоятельствах не должны использовать тот фрагмент кода на PHP, который привели в примере. Если кто-то ради смеха отправит вам в запросе не адрес картинки, а «"; DROP TABLE USERS;», то не вставая с дивана уничтожит вашу таблицу. И это в лучшем случае. Это называется SQL-инъекция. Используйте PDO.
Похожие вопросы