• 14-09-2009, 00:01:23
    #1
    Arkadaşlar merhaba ,

    Bir başvuru formumuz var.
    Bu formda yaklaşık 10 yazı girilecek alan ve 3 adet de sayı girilecek alan var.
    Ben bu alanları tek tek $HTTP_POST_VARS["ad"] gibi alanlardan alıyorum ve aşağıdaki fonsiyonu kullanarak db ye yazmdan önce temizliyorum.

    function gelengiden($get_temizle) {
    $temizget = strip_tags(mysql_real_escape_string($get_temizle)) ;
    return $temizget;
    }

    Ardından şu şekilde hepsini tek tek kontrol ediyorum ;
    gelengiden ($HTTP_POST_VARS["ad"]);

    sayı ise :
    intval( gelengiden ($HTTP_POST_VARS["ad"]));

    Sorum şu , bu verileri tek tek kontrol etmektense hepsini bir kerede kontrol ettirmenin bir yolu varmı acaba ?
    Yol gösterebilirseniz çok sevinirim.
    Sayg.
  • 14-09-2009, 01:04:54
    #2
    Fonksiyona sınırsız sayıda parametre gönderebilirsin. func_get_args() Manual de incelemeni tavsiye ederim.
  • 14-09-2009, 09:13:18
    #3
    array_map()
    kullanabilirsiniz hocam.
  • 14-09-2009, 15:11:19
    #4
    $_POST = array_map("gelengiden",$_POST);
    yada
    $_POST = array_map("gelengiden",$HTTP_POST_VARS);

    Şeklinde uygulamak gerekiyor sanırım,
    Teşekkürler.
  • 14-09-2009, 16:57:10
    #5
    Üyeliği durduruldu
    uysal_rockci adlı üyeden alıntı: mesajı görüntüle
    array_map()
    kullanabilirsiniz hocam.
    bkz

    http://www.programlamatv.com/ders/ph...onu-kullanimi/
  • 14-09-2009, 17:54:03
    #6
    Çok teşekkürler,
    Hazır mysql_real_escape_string fonksiyonuna değinmişken , şöyle bir sorunum var,
    formda combo box dan seçtirerek 1 den fazla değeri aynı alana aralarında ; koyarak ekliyorum.

    Ancak mysql_real_escape_string fonksyonunda burası hata veriyor ve ; ile ayrılmış olanları yazmıyor.
    Bu konuda bir yönlendirmeniz olabilir mi ?
  • 14-09-2009, 18:19:56
    #7
    teknolojinet adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkürler,
    Hazır mysql_real_escape_string fonksiyonuna değinmişken , şöyle bir sorunum var,
    formda combo box dan seçtirerek 1 den fazla değeri aynı alana aralarında ; koyarak ekliyorum.

    Ancak mysql_real_escape_string fonksyonunda burası hata veriyor ve ; ile ayrılmış olanları yazmıyor.
    Bu konuda bir yönlendirmeniz olabilir mi ?
    Başka bir karakter koy, mesela @ yada # gibi..
  • 14-09-2009, 18:48:02
    #8
    karakterle ilgili değil, karakterleri tamamen kaldırınca da aynı sorunu verdi.

    mysql_real_escape_string() expects parameter 1 to be string, array given in

    Şu kod ile döndürdüğüm combobox seçeneklerim var ,

    $secenek_al = $_POST["y_secenek"] ;
    $secenek_ver="";
    $count=count($secenek_al);
    for($i=0;$i<$count;$i++){$yetenek_secenek_ver="$se cenek_ver$secenek_al[$i] ; ";}

    Bunları hiç seçmeyince sorun yok, ama birisini seçince kızıyor
  • 16-09-2009, 15:11:51
    #9
    Arkadaşlar bu en son sorunu çözemedim bir türlü ,

    Ancak şuraya kadar ilerledim ;

    Combodan çoklu seçim yapıldığı için , for döngüsü ile birleştiriyorum seçilenleri ;

    $secenek_al = $_POST["y_secenek"] ;
    $secenek_ver="";
    $count=count($secenek_al);
    for($i=0;$i<$count;$i++){$yetenek_secenek_ver="$se cenek_ver$secenek_al[$i] ; ";}

    ancak ilk satırdaki tanımlama ilk etapda boş döndüğü için :
    $secenek_al = $_POST["y_secenek"] ;

    Ben bunu ;
    $secenek_al = mysql_real_escape_string($_POST["y_secenek"]) ;

    yapınca kızıyor ,sanırım bunla ilgili bişey ama nasıl çözeceğimi hala bulamadım.