• 19-08-2018, 04:39:08
    #1
    ---
  • 19-08-2018, 11:42:39
    #2
    Böyle karmaşık kodlarla nasıl çalışıyorsunuz gerçekten hayret verici :/

    Öncelikle sisteminizi SQL Injection'a karşı korumak için ön hazırlıklı sorgu kullanmaz faydalı olacaktır.

    Güncelleme kontrolünü mysqli_fetch_array($baglanti) ile yaparak hata yapmışsınız bunun yerine mysqli_affected_rows($baglanti) ile yapmalısınız.

    Yani kabaca şöyle olacak

    $kayit_sayisi = mysqli_affected_rows($baglanti);
    if ( $kayit_sayisi > 0 ) {
        echo $kayit_sayisi ." kayıt güncellendi."
    } else {
        echo "Herhangi bir kayıt güncellenemedi.";
    }
  • 19-08-2018, 14:08:26
    #3
    seogrenci adlı üyeden alıntı: mesajı görüntüle
    Böyle karmaşık kodlarla nasıl çalışıyorsunuz gerçekten hayret verici :/

    Öncelikle sisteminizi SQL Injection'a karşı korumak için ön hazırlıklı sorgu kullanmaz faydalı olacaktır.

    Güncelleme kontrolünü mysqli_fetch_array($baglanti) ile yaparak hata yapmışsınız bunun yerine mysqli_affected_rows($baglanti) ile yapmalısınız.

    Yani kabaca şöyle olacak

    $kayit_sayisi = mysqli_affected_rows($baglanti);
    if ( $kayit_sayisi > 0 ) {
        echo $kayit_sayisi ." kayıt güncellendi."
    } else {
        echo "Herhangi bir kayıt güncellenemedi.";
    }
    malesef olmadı hocam mysqli_affected_rows'ide denedim mysqli_fetch_array'ıda denedim.



    hala çözülmedi bi yeni önerisi olan varmı ?
  • 19-08-2018, 15:55:40
    #4
    ugurizm adlı üyeden alıntı: mesajı görüntüle
    malesef olmadı hocam mysqli_affected_rows'ide denedim mysqli_fetch_array'ıda denedim.

    hala çözülmedi bi yeni önerisi olan varmı ?
    Koddaki if sonuna noktalı virgül eklemişsiniz.

    Ayrıca kodları aşağdaki gibi düzenledim.

    Aşağıdaki kodu çalıştırıp deneyin.

    Yine hata varsa // echo $sql_sorgusu; // SQL sorgusunu yazdırır.

    olan yerdeki yorumu kaldırın ve SQL oluşan SQL sorgusunu phpmyadmin yerinde çalıştırın belki hatalı bir yer vs. vardır.



    <?php
    
    include "database.php";
    $ayarsorgu = mysqli_query($baglanti, "SELECT * FROM ayar");
    $ayarcek = mysqli_fetch_assoc($ayarsorgu);
    
    
    if (isset($_POST['kaydet'])) {
        $id = 0;
    
        $sql_sorgusu = "UPDATE ayar SET ayar_title='" . $_POST['ayar_title'] . "',
                 ayar_slider1='" . $_POST['ayar_slider1'] . "',
                 ayar_slider2='" . $_POST['ayar_slider2'] . "',
                 ayar_sliderbuton='" . $_POST['ayar_sliderbuton'] . "',
                 ayar_aciklamabas1='" . $_POST['ayar_aciklamabas1'] . "',
                 ayar_aciklamabas2='" . $_POST['ayar_aciklamabas2'] . "',
                 ayar_aciklamabas3='" . $_POST['ayar_aciklamabas3'] . "',
                 ayar_aciklamabas4='" . $_POST['ayar_aciklamabas4'] . "',
                 ayar_tercih_title='" . $_POST['ayar_tercih_title'] . "',
                 ayar_tercih_title2='" . $_POST['ayar_tercih_title2'] . "',
                 ayar_tercih_b1='" . $_POST['ayar_tercih_b1'] . "',
                 ayar_tercih_b2='" . $_POST['ayar_tercih_b2'] . "',
                 ayar_tercih_aciklama1='" . $_POST['ayar_tercih_aciklama1'] . "',
                 ayar_tercih_aciklama2='" . $_POST['ayar_tercih_aciklama2'] . "',
                 ayar_tercih_buton1='" . $_POST['ayar_tercih_buton1'] . "',
                 ayar_tercih_buton2='" . $_POST['ayar_tercih_buton2'] . "',
                 ayar_footer_aciklama='" . $_POST['ayar_footer_aciklama'] . "' WHERE  ayar_id='$id'";
    
        // echo $sql_sorgusu;  // SQL sorgusunu yazdırır.
    
        $sql_sorgusu = mysqli_escape_string($baglanti, $sql_sorgusu); // SQL Injection için
    
        $kaydet = mysqli_query($baglanti, $sql_sorgusu);
    
        if (!$kaydet) {
            die("Hata oluştu: " . mysqli_error($baglanti));
        }
    
        $kayit_sayisi = mysqli_affected_rows($baglanti);
    
        if ($kayit_sayisi > 0) {
            header("Location:./genelayarlar.php?guncellendi");
        } else {
            echo "Herhangi bir kayıt güncellenemedi.";
        }
    }
    
    ?>
  • 19-08-2018, 17:33:53
    #5
    seogrenci adlı üyeden alıntı: mesajı görüntüle
    Koddaki if sonuna noktalı virgül eklemişsiniz.

    Ayrıca kodları aşağdaki gibi düzenledim.

    Aşağıdaki kodu çalıştırıp deneyin.

    Yine hata varsa // echo $sql_sorgusu; // SQL sorgusunu yazdırır.

    olan yerdeki yorumu kaldırın ve SQL oluşan SQL sorgusunu phpmyadmin yerinde çalıştırın belki hatalı bir yer vs. vardır.



    <?php
    
    include "database.php";
    $ayarsorgu = mysqli_query($baglanti, "SELECT * FROM ayar");
    $ayarcek = mysqli_fetch_assoc($ayarsorgu);
    
    
    if (isset($_POST['kaydet'])) {
        $id = 0;
    
        $sql_sorgusu = "UPDATE ayar SET ayar_title='" . $_POST['ayar_title'] . "',
                 ayar_slider1='" . $_POST['ayar_slider1'] . "',
                 ayar_slider2='" . $_POST['ayar_slider2'] . "',
                 ayar_sliderbuton='" . $_POST['ayar_sliderbuton'] . "',
                 ayar_aciklamabas1='" . $_POST['ayar_aciklamabas1'] . "',
                 ayar_aciklamabas2='" . $_POST['ayar_aciklamabas2'] . "',
                 ayar_aciklamabas3='" . $_POST['ayar_aciklamabas3'] . "',
                 ayar_aciklamabas4='" . $_POST['ayar_aciklamabas4'] . "',
                 ayar_tercih_title='" . $_POST['ayar_tercih_title'] . "',
                 ayar_tercih_title2='" . $_POST['ayar_tercih_title2'] . "',
                 ayar_tercih_b1='" . $_POST['ayar_tercih_b1'] . "',
                 ayar_tercih_b2='" . $_POST['ayar_tercih_b2'] . "',
                 ayar_tercih_aciklama1='" . $_POST['ayar_tercih_aciklama1'] . "',
                 ayar_tercih_aciklama2='" . $_POST['ayar_tercih_aciklama2'] . "',
                 ayar_tercih_buton1='" . $_POST['ayar_tercih_buton1'] . "',
                 ayar_tercih_buton2='" . $_POST['ayar_tercih_buton2'] . "',
                 ayar_footer_aciklama='" . $_POST['ayar_footer_aciklama'] . "' WHERE  ayar_id='$id'";
    
        // echo $sql_sorgusu;  // SQL sorgusunu yazdırır.
    
        $sql_sorgusu = mysqli_escape_string($baglanti, $sql_sorgusu); // SQL Injection için
    
        $kaydet = mysqli_query($baglanti, $sql_sorgusu);
    
        if (!$kaydet) {
            die("Hata oluştu: " . mysqli_error($baglanti));
        }
    
        $kayit_sayisi = mysqli_affected_rows($baglanti);
    
        if ($kayit_sayisi > 0) {
            header("Location:./genelayarlar.php?guncellendi");
        } else {
            echo "Herhangi bir kayıt güncellenemedi.";
        }
    }
    
    ?>

    çözdüm hocam çok teşekkür ederim.