• 26-10-2013, 13:26:10
    #1
    merhaba php ye yeni yeni başlıyorum.bir textareadaki satırları veritabanını nasıl aktarabilirim
  • 26-10-2013, 13:33:58
    #2
    $veri = $_POST["textareadangelen"];
    $veri = preg_replace("#(\r\n|\n|\r)#", "|", $veri);
    $veri = rtrim($veri, "|");
    $veri = explode("|", $veri);
    
    foreach($veri as $satir){
    	
    	mysql_query("INSERT INTO satirlar (satir) values ('{$satir}')");
    	
    }
    böyle olması lazım.
  • 26-10-2013, 13:46:02
    #3
    Textden veriyi post ile gonderip explode ile \n ile boleceksin bolum sonucu veri array olacak sonrasinda for yada foreach ile dongu icinde mysql quwery ile veri tabanina ekleyeceksin :-)
  • 26-10-2013, 16:14:17
    #4
    fatihsarac adlı üyeden alıntı: mesajı görüntüle
    $veri = $_POST["textareadangelen"];
    $veri = preg_replace("#(\r\n|\n|\r)#", "|", $veri);
    $veri = rtrim($veri, "|");
    $veri = explode("|", $veri);
    
    foreach($veri as $satir){
    	
    	mysql_query("INSERT INTO satirlar (satir) values ('{$satir}')");
    	
    }
    böyle olması lazım.
    teşekkür ederim hocam oldu.
    "#(\r\n|\n|\r)#" bu ne demek acaba.
    bir sorum daha var $_post olsun $_get olsun bunlar boş olduğunda hata veriyor.bunun bir çözümü varmı her şeyin.her seferde if ile sorgulamamız mı gerekiyor herseferinde.ben normalde aspde yazarken boş değer atayıp geçiyordu asp.
    wamp server kullanıyorum
  • 26-10-2013, 16:19:28
    #5
    post ya da get ya da request olsun farketmez nereden gelirse gelsin veri, mysql ile işleme sokmadan boş mu dolumu ve sql injection xss vb gibi kontrolleri yapman lazım

    php ile devam edeceksen programlamaya asp yi tümüyle unutmanı tavsiye ederim
  • 26-10-2013, 16:38:42
    #6
    myhere adlı üyeden alıntı: mesajı görüntüle
    post ya da get ya da request olsun farketmez nereden gelirse gelsin veri, mysql ile işleme sokmadan boş mu dolumu ve sql injection xss vb gibi kontrolleri yapman lazım

    php ile devam edeceksen programlamaya asp yi tümüyle unutmanı tavsiye ederim
    elbette hocam her dilin kendi sistemi vardır.sql injection elbette önemlide.çok fazla sorgu yapmak zorunda kalıyoruz neyse uğraşacağız o zaman
  • 26-10-2013, 16:54:59
    #7
    oktayman adlı üyeden alıntı: mesajı görüntüle
    elbette hocam her dilin kendi sistemi vardır.sql injection elbette önemlide.çok fazla sorgu yapmak zorunda kalıyoruz neyse uğraşacağız o zaman
    uğraşmadan olmaz ufak bir önerim bir function yazın her seferinde o fonksiyonu çağırarak post/get gelen verileri kontrol edin, her if eşleştirmesi bir sorgu değildir ayrıca.

    aşağıda basit bir örnek yazdım onu geliştirebilirsin, yalnız dikkat etmen gereken bu functionu çağırdığın anda mysql bağlantısının olması lazım yoksa mysql_real_escape_string çalışmaz.

    ikinci bir detay ise filter_var fonksiyonu bunu aşağıda senin değişkenin sadece yazılardan oluşabileceğini varsayarak string olarak yazdım

    http://php.net/manual/en/function.filter-var.php

    bu sayfadan filter_var diğer değerler için nasıl kullanılıyor inceleyebilirsin

    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;
        
    }
  • 26-10-2013, 17:03:47
    #8
    myhere adlı üyeden alıntı: mesajı görüntüle
    uğraşmadan olmaz ufak bir önerim bir function yazın her seferinde o fonksiyonu çağırarak post/get gelen verileri kontrol edin, her if eşleştirmesi bir sorgu değildir ayrıca.

    aşağıda basit bir örnek yazdım onu geliştirebilirsin, yalnız dikkat etmen gereken bu functionu çağırdığın anda mysql bağlantısının olması lazım yoksa mysql_real_escape_string çalışmaz.

    ikinci bir detay ise filter_var fonksiyonu bunu aşağıda senin değişkenin sadece yazılardan oluşabileceğini varsayarak string olarak yazdım

    http://php.net/manual/en/function.filter-var.php

    bu sayfadan filter_var diğer değerler için nasıl kullanılıyor inceleyebilirsin

    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;
        
    }
    teşekkür ederim biraz karışık gibi geldi ama inceleyip çözeceğim
    $gelen=$_get['sayfa']; //hata veren satır
    echo $gelen;
    dedik ya.urleden sayfa değişkeni gelmezse ilk satırda hata veriyor.normalde direk $gelen değişkenine "" şeklinde bir değer atayamıyormu php.

    verdiği hata( ! ) Notice: Undefined variable: _get in C:\wamp\www\facebook\deneme.php on line 2
  • 26-10-2013, 17:16:08
    #9
    oktayman adlı üyeden alıntı: mesajı görüntüle
    teşekkür ederim biraz karışık gibi geldi ama inceleyip çözeceğim
    $gelen=$_get['sayfa']; //hata veren satır
    echo $gelen;
    dedik ya.urleden sayfa değişkeni gelmezse ilk satırda hata veriyor.normalde direk $gelen değişkenine "" şeklinde bir değer atayamıyormu php.

    verdiği hata( ! ) Notice: Undefined variable: _get in C:\wamp\www\facebook\deneme.php on line 2
    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
    
    }