Textarea daki satırları tek tek nasıl veritabanınaneklerim
11
●3.063
- 26-10-2013, 13:33:58
$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, 16:14:17teşekkür ederim hocam oldu.fatihsarac adlı üyeden alıntı: mesajı görüntüle
"#(\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:38:42elbette hocam her dilin kendi sistemi vardır.sql injection elbette önemlide.çok fazla sorgu yapmak zorunda kalıyoruz neyse uğraşacağız o zamanmyhere adlı üyeden alıntı: mesajı görüntüle
- 26-10-2013, 16:54:59uğraşmadan olmazoktayman adlı üyeden alıntı: mesajı görüntüle
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:47teşekkür ederim biraz karışık gibi geldi ama inceleyip çözeceğimmyhere adlı üyeden alıntı: mesajı görüntüle

$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:08hımm o farklı birşey onu switch case ile çözebilirsin, yukarıdaki functionu veri kontrol ve sql injection için vermiştimoktayman adlı üyeden alıntı: mesajı görüntüle

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 }
