Задать вопрос
@brazikc

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

Не могу отправить значение переменной методом пост через XMLHttpRequest
Помогите исправить. Суть такая я кликаю на картинку и мне показывается как она выглядит и если понравилось я кликаю сохранить и она сохраняется в бд. Просмотр готов. Но src в форму не могу отправить и следовательно не могу сохранить src картинки
код 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;
    /*отправка src php обработчику формы*/
    xhr = new XMLHttpRequest();
    xhr.open("POST", "../sourse/edit-fon.php");
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.send("item=" + src);
  };

обработчик формы php
<?php
    session_start();
    // подключение к bd
    require_once 'connect.php';
    require_once '../inc/function.php';
    $fon = $_POST['item'];


    mysqli_query($connect, "UPDATE `Users` SET `fon` = '$fon' WHERE `login` = '$login'");
?>
<script src="../js/edit-fon.js"></script>


сама форма

<form action="../inc/edit-fon.php" class="form-fon-load" method="post" enctype="multipart/form-data" name="fon">
            <div class="fon-view">
                <h1>Фон профиля</h1>
                <div class="windowfon">
                    <div class="preview-profile">
                        <img class="preview-profileimg" src="../img/nav/preview-profile.png" alt="">    
                    </div>       
                    <img class="preview-fon" src="<?= $fonprofile  ?>" alt="">
                </div>       
            </div>
            <div class="fon-btm">
                <?foreach ($fon as $fon): ?>
                    <div class="item">
                        <img id="<?= $fon['id-item'] ?>" class="img-item" src="<?=$fon['img-item']?>" alt="">
                        <a class="name-item"><?=$fon['name-item']?></a>
                    </div>
                <?endforeach?> 
            </div>
            <div class="btm-es">
                <div class="btm-cancel"><a href="../sourse/profile.php">отмена</a></div>
                <button class="btm-save" type="submite">сохранить</button>
            </div>
        </form>
  • Вопрос задан
  • 1632 просмотра
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
@shsv382
Как минимум у тебя в последней кнопке type="submite" вместо submit. Дальше не смотрел. Проверь имена классов и id
Ответ написан
Комментировать
@uabatumi
UPDATE `Users` SET `fon` = '".mysqli_real_escape_string($connect, $fon)."' WHERE `login` = '".mysqli_real_escape_string($connect, $login)."
Ребята добавляйте, а то вашу базу вскроют за 5 минут
Ответ написан
Mike_Ro
@Mike_Ro Куратор тега JavaScript
Python, JS, WordPress, SEO, Bots, Adversting
Также, как и загуглить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы