php ajax без перезагрузки несколько кнопок

Рейтинг: 0Ответов: 0Опубликовано: 17.01.2023

У меня в файле json находится список нужных кнопок, и я пытаюсь сделать так чтобы при нажатии менялся элемент в другом файле json без перезагрузки страницы

index.php

<div class="text"></div>
<form method="POST">    <?php
$json_data345234514523452 = file_get_contents("accounts/".$_COOKIE['id'].".json");
$product4561 = json_decode($json_data345234514523452, true);
?>
<?php
$json_data = file_get_contents("accounts/".$_COOKIE['id'].".json");
$products2 = json_decode($json_data, true);
     if(count($products) != 0){
         foreach($products2 as $product2){
             ?>
             <?php 
         }
     }
?>
    <?php
    $json2323232 = file_get_contents('avatar/'.$_COOKIE['id'].'.json');
    $data2323232 = json_decode($json2323232, true);
    ?>
  
                    <?php
                                                
                            if($_COOKIE['accboolg1'] == true){
$products65724 = file_get_contents('accounts/'.$_COOKIE['id'].'.json');
$products6573432 = json_decode($products65724, true);                       
                                   foreach($data2323232 as $element1){

    $url = $element1;

$file = file_get_contents($url); // получить файл
$name = basename($url); // получить имя файла
$ext = pathinfo($url, PATHINFO_EXTENSION); //  получить расширение файла
$name2 =pathinfo($url, PATHINFO_FILENAME); //  получить имя файла без расширения
if(isset($_POST[$name2])){
$products6573432[$_COOKIE['id']][$_COOKIE['accname']]['Avatar'] = $element1;
file_put_contents('accounts/'.$_COOKIE['id'].'.json', json_encode($products6573432));
}
    if($products2){
    echo '<input value="'.$name2.'" style="background-image:url(http://susamo9a.beget.tech/'.$element1.');" type="submit" name="'.$name2.'"><br>';
}else{
    echo "Извини но ты такой аватарки не имеешь!";
}
}
}  
                    ?>
</form>
<?php echo $_COOKIE['id'] ?>
<script>

    const form = document.querySelector('form');
    console.log(form);
    form.addEventListener('submit', evt => {
        evt.preventDefault();
        fetch('form.php', {
            method: 'POST',
            body: new FormData(form)
        }).then(function(response){
        console.log(response)
        }).catch(function(error){
        console.log(error);
        });
    })
var data = document.querySelector('.text');
var button = document.querySelector('#btn');
button.onclick = function () {

var name = document.querySelector('#name2').value;
    data.innerHTML =  name;
};</script>

form.php

    <?php
    $json2323232 = file_get_contents('avatar/'.$_COOKIE['id'].'.json');
    $data2323232 = json_decode($json2323232, true);
    ?>
<?php
//$method = $_SERVER['REQUEST_METHOD'];
//print_r($_POST);
//$json_data2657 = file_get_contents("../accounts/".$_COOKIE['id'].".json");
//$products657 = json_decode($json_data2657, true);
//$products657[$_COOKIE['id']][$_COOKIE['accaname']]['Avatar'] = $_POST;
//file_put_contents('../accounts/'.$_COOKIE['id'].'.json', json_encode($products657));

$method = $_SERVER['REQUEST_METHOD'];
print_r($_POST);
$json_data2657 = file_get_contents("accounts/".$_COOKIE['id'].".json");
$products657 = json_decode($json_data2657, true);
foreach($data2323232 as $element1){
    
    
    $url = $element1;

$file = file_get_contents($url); // получить файл
$name = basename($url); // получить имя файла
$ext = pathinfo($url, PATHINFO_EXTENSION); //  получить расширение файла
$name2 =pathinfo($url, PATHINFO_FILENAME); //  получить имя файла без расширения   
$products657[$_COOKIE['id']][$_COOKIE['accname']]['Avatar'] = $element1;
file_put_contents('accounts/'.$_COOKIE['id'].'.json', json_encode($products657));    
}

У меня все время берётся последняя кнопка, и я пытался ещё добавлять if(isset($_POST[$name2])) но он вообще не как не реагирует

Ответы

Ответов пока нет.