insert komutu

gurcan15
14-08-2010, 01:08   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
1 mesaj
Kayıt Tarihi:Kayıt: Ağu 2010

arkadaşlar mysq_query de insert komutunu kullanırken yazmak istediğim metnin içinde ' (tek tırnak) varsa kayıt yapamıyorum
yazacağınız text = ali'nin evi.
oluyormu olmuyor mu ben beceremedim.
database adı ve yapısı text
text.php
<FORM id='sign' name='girisfrm' action='kaydet.php' method='post' style='MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px'>
<TEXTAREA class='texterea' id='message' name='mesaj' rows='14' cols='60'></TEXTAREA>
<input type='submit' name='kaydet' value='' class='kaydet' style='width: 69; height: 20'>
</FORM>
 
 
 

kaydet.php


@$db_name = "text"; #db adi
@$db_user = "root"; #db kullanici adi
@$db_pass = ""; #db kullanici sifresi
@$db_host = "localhost"; #db server/sunucu adi
@$eror1 = "
...MySQL Baglantisi Gerçeklestirilemedi...";
@$eror2 = "
...Veritabani Seçimi Gerçeklestirilemedi...";
@$baglan= mysql_connect($db_host,$db_user,$db_pass) or die ($eror1);
@mysql_select_db($db_name,$baglan) or die ($eror2);
------------------------------------------------------------------------------------------------------------------
$text=$_POST['mesaj'];
$kayit = mysql_query("insert into text (text) values ('$text')");
if($kayit)
{echo "oldu";}
else
{echo "olmadi";}
?>

Serden YEŞİL
25-08-2010, 23:09   |  #2  
Taze Üye
Teşekkür Sayısı: 0
7 mesaj
Kayıt Tarihi:Kayıt: Şub 2010

Merhaba gurcan15;

Şu şekilde bir yol izleyebilirsin textareadan gelen ' karakterini filtreleyerek ` karakteri ile değiştirip veritabana kaydedebilirsin bunu yapmak için aşağıdaki fonksiyonu dosyaya ekleyerek $text=$_POST['mesaj']; şeklinde posttan çektiğin veriyi şu şekilde çekiceksin $text=tektirnak($_POST['mesaj']);

Şu fonksiyonu eklemelisin öncelikle

function tektirnak($veri){
    $gelenkod = array("'");
    $degistir = array("`");
   
    $yeni = str_replace($gelenkod,$degistir,$veri);
    return $yeni;
}

Kullanımıda yukarıda yazdığım gibi $text=tektirnak($_POST['mesaj']); şeklinde olucak

Son Düzenleme: Serden YEŞİL ~ 25 Ağustos 2010 23:10