v2.5.2
Giriş yap

JSON Hatası

ynscnr55
22 defa görüntülendi

Merbahalar. modul.php dosyamdan aşağıdaki gibi func/islemler.php dosyasına json isteği gönderiyorum
Localde sorun yok çalısıyor fakat sunucuya alınca da çalısıyor fakat 302 hatası alıyorum bu yüzden dolayı uyarıyı yazdıramıyorum.

    <script>
$(document).ready(function () {
    $("#modul_footer").change(function () {
        var selectedValue = $(this).val();
        $.ajax({
            url: "func/islemler.php",
            type: "GET",
            dataType: "json", // JSON formatını belirt
            data: { modul_footer: selectedValue },
            success: function (response) {
                if (response.islemSonuc == true && response.islemMsj == "Tamam") {
                    // Güncelleme başarılı
                    $.toast({
                        heading: 'Başarılı!',
                        text: 'İşlem Başarılı',
                        showHideTransition: 'fade',
                        icon: 'success',
                        loaderBg: '#fff',
                        position: 'top-right'
                    });
                    
                    setTimeout(() => location.reload(), 3000);
                } else if (response.islemSonuc === false && response.islemMsj === "Demo Mod") {
                    // Demo mod mesajı
                    $.toast({
                        heading: 'Demo Mod',
                        text: 'Demo Modda İşlem Yapamazsın',
                        showHideTransition: 'fade',
                        icon: 'info',
                        loaderBg: '#fff',
                        position: 'top-right'
                    });
                   
                } else {
                    // Genel hata mesajı
                    $.toast({
                        heading: 'Hata!',
                        text: response.islemMsj,
                        showHideTransition: 'fade',
                        icon: 'error',
                        loaderBg: '#fff',
                        position: 'top-right'
                    });
                    setTimeout(() => location.reload(), 3000);
                }
            }
        });
    });
});


</script>

islemler.php dosyamdaki kodlarım da böyle.

    if (isset($_GET["modul_footer"]) ) {
   header("Content-Type: application/json; charset=UTF-8");
    // Kullanıcı yetkisi kontrolü
    if ($kullaniciCek['user_yetki'] != 1) {
        
        $returnMsg = ["islemSonuc" => false, "islemMsj" => "Yetkisiz"];
        exit;
    }

    // Demo hesap kontrolü
    if ($DemCont==1){
        
        http_response_code(200);
        echo json_encode(["islemSonuc" => false, "islemMsj" => "Demo Mod"]);
        exit;
    }
       
 

    // Gelen değerleri al
    $deger = $_GET["modul_footer"]; // XSS koruması

   
        // Veritabanı güncelleme işlemi
        $duzenle = $db->prepare("UPDATE modul SET modul_footer = :modul_footer WHERE modul_id = :modul_id");
        $update = $duzenle->execute([
            "modul_footer" => $deger,
            "modul_id" => 0
        ]);

     
        if ($update) {

            http_response_code(200);
            echo json_encode(["islemSonuc" => true, "islemMsj" => "Tamam"]);
        } else {
       
            echo json_encode(["islemSonuc" => false, "islemMsj" => "Veritabanı güncellenemedi."]);
        }
        exit;
       
} 

302 Found hatasını alıyorum. Hatayı nerede yapıyorum acaba ?

ebykdrms
14 saat önce

Sorun: 302 http kodu bir yönlendirme kodudur.
Sunucuda islemler.php sayfasına istek atıyorsun ama bir yönlendirme yapılıyor gibi görünüyor.
Bir güvenlik yönlendirmesine takılıyor olabilirsin veya demo bir projeyse yapılan istekleri başka bir yere yönlendiriyor olabilir.
Bi'yerlerde header("location: $url", true, 302); veya http_response_code(302); veya bir .htaccess yönlendirmesi olabilir.
Proje genelinde "302" ifadesini araman gerekebilir. Tabi bu proje dosyalarında olabileceği gibi sunucudaki daha dış bir kaynaktan da yapılıyor olabilir. CPanel gibi bir yönetim aracı varsa kontrol etmek gerekebilir.