• 26-10-2013, 17:27:52
    #10
    ilk olarak $_get diye bir şey yok, $_GET olması lazım
    ikinci olarak php (eğer hataları gizle dememişsen) get, post, resquet gelmeyen yerde tanımlamışsa hata verir. bunun iki çözümü var 1. si sayfanın en başına error_reporting(0) yazarsan bu tarz hataları göstermez ama bu üşengeç adamın işidir.

    yani sayfa.php'de $veri = $_GET['veri'] şeklinde bir kod yazarsan, sayfa.php?veri=deger oluncaya kadar hata verir.

    2. ve olması gereken çözüm şudur;

    $veri = isset($_GET['veri']) ? $_GET['veri'] : null;

    yani $veri diye bir değişken tanımlıyorum, get gelmişse get ile set et, yoksa null olarak set et demiş olduk.


    ikinci olarak "#(\r\n|\n|\r)#" bir regex desenidir. diyor ki eğer değişkenin içindeki veride \r\n, \n ya da \r varsa manasına gelir.
  • 26-10-2013, 17:30:45
    #11
    Pdo kullanın.
  • 26-10-2013, 17:31:49
    #12
    myhere adlı üyeden alıntı: mesajı görüntüle
    hımm o farklı birşey onu switch case ile çözebilirsin, yukarıdaki functionu veri kontrol ve sql injection için vermiştim

    hemen swirch case içinde kısa bir örnek vereyim

    yanlış anlamadıysam şuna benzer bişey yapmaya çalışıyorsun sen

    
    function kontrol($veri){
        
        if(strlen($veri)<=0){ 
            return false; 
            }
        
        if(get_magic_quotes_gpc()){
                $veri= stripslashes($veri);
            }
            if(function_exists("mysql_real_escape_string")){
                $veri= mysql_real_escape_string($veri);
            }else{
                $veri= addslashes($veri);
            }
    
        $veri = filter_var($veri, FILTER_SANITIZE_STRING);  
        return $veri;
        
    }  
    
    $gelen = kontrol($_GET['sayfa']);  // burada get teki veriyi string olarak ve sql_incjection dan korunmuş bişekilde alıyorsun ve switch e gönderiyorsun  
    
    switch($gelen){
      case "index";
      echo "index sayfası"; // burada index iken olacak şeyleri yaptırabilir ya da başka sayfa include edebilirsin.
      break;
    
      case "hakkimizda";
      echo "hakkımızda sayfası"; // burada index iken olacak şeyleri yaptırabilir ya da başka sayfa include edebilirsin.
      break;
    
      deafult:
      echo "index sayfası"; // hiçbir durum sağlanmazsa çalışacak kodlar
    
    }
    fatihsarac adlı üyeden alıntı: mesajı görüntüle
    ilk olarak $_get diye bir şey yok, $_GET olması lazım
    ikinci olarak php (eğer hataları gizle dememişsen) get, post, resquet gelmeyen yerde tanımlamışsa hata verir. bunun iki çözümü var 1. si sayfanın en başına error_reporting(0) yazarsan bu tarz hataları göstermez ama bu üşengeç adamın işidir.

    yani sayfa.php'de $veri = $_GET['veri'] şeklinde bir kod yazarsan, sayfa.php?veri=deger oluncaya kadar hata verir.

    2. ve olması gereken çözüm şudur;

    $veri = isset($_GET['veri']) ? $_GET['veri'] : null;

    yani $veri diye bir değişken tanımlıyorum, get gelmişse get ile set et, yoksa null olarak set et demiş olduk.


    ikinci olarak "#(\r\n|\n|\r)#" bir regex desenidir. diyor ki eğer değişkenin içindeki veride \r\n, \n ya da \r varsa manasına gelir.
    çok teşekkürler cevaplar için.çözdüm sitemi fatih hocanın dediği kodları ekleyince hatalar kalkıyor