v2.5.2
Giriş yap

JSON Hatası

ynscnr55
184 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 ?

Cevap yaz
Cevaplar (2)
ynscnr55
22 gün önce

Cevabınız için teşekkür ederim. islemler.php dosyamda diğer php işlemleri için header() kullanıyorum ama 302 hatasını verir mi bilmiyorum. Cpanelde bununla alakalı bir ayar bulamadım açıkçası. subdomainde çalısıyorum bununla alakalı olablir mi ?

ebykdrms
23 gün ö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.