• 01-04-2016, 12:07:05
    #1
    Haber eklemek için kullanılan basit panel. Ama post edilen içerik kısmını mysqle gönderemiyor. İçerik kısmında karekter sayısı az olduğu zaman haber başarılı şekilde ekleniyor. ama içerik kısmı 100 karekter felan civarında bir haber içeriği olursa veritabanına eklenmiyor.

    Mysql de içerik(detay) satırında herhangi bir karekter sınırlaması yok. veritabanından elle haber eklemeye calıstıgımızda istenirse xxxxx karekterde eklenebiliyor. Ama panelden eklemeye calıstıgımızda icerik kısmının cok az karekter içerirse ekleyebiliyoruz. Hatayı bir türlüde çözemedim.


    <?
    include("../ayarlar.php");
    include("veritablosu.php");
    echo '<meta charset="utf-8">';
    $toplamhaber=@mysql_num_rows(@mysql_query("SELECT id FROM haberler"))+127;
    $toplahaber=@mysql_num_rows(@mysql_query("SELECT id FROM haberler"))+120;
    
    ?>
    <html xmlns="http://www.w3.org/1999/xhtml"> <script language="javascript" type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script><script language="javascript" type="text/javascript">tinyMCE.init({    mode : "textareas"});</script>
    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Haber Paneli</title>
    <style type="text/css">
    body,td,th {
    	font-family: Georgia, "Times New Roman", Times, serif;
    	text-align: left;
    }
    body {
    	background-color: #f8f8ff;
    }
    .ccc {
    	font-size: 9px;
    }
    .aaa {
    	font-size: 9px;
    }
    .ccc {
    	font-size: 9px;
    }
    </style>
    </head>
    
    <body>
    <p><strong style="font-family: 'Comic Sans MS', cursive; font-size: 18px; color: #900;">HABER Paneli</strong></br>
      <form id="form" name="form" method="post" action="">
    </p>
    <p>&nbsp; </p>
    <table width="1069" border="0">
       <tr>
        <td width="42">ID:</td>
        <td width="287"><strong>
          <input name="id" type="text" disabled id="id" placeholder="<?=$toplamhaber?> (Resime vereceğiniz ad)" readonly/>
        </strong></td>
        
      <tr>
        <td>Baslik:</td>
        <td><input type="text" name="baslik" id="baslik2" /></td>
      </tr>
      <tr>
        <td>İçerik:</td>
        <td><textarea name="icerik" id="icerik" cols="50" rows="10"></textarea></td>
      </tr>
      <tr>
        <td>Spot:</td>
        <td><input name="spot" type="text" id="spot" placeholder="Gerekli Değil" /></td>
      </tr>
      <tr>
        <td>Kısım:</td>
        <td><input name="kisim" type="text" id="kisim" placeholder="Hangi Kategori" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="yolla" id="yolla" value="Haber Ekle" /></td>
      </tr>
    </table>
    <p>&nbsp;</p>
    </br>
    
    </body>
    </html>
    <?
    
    $baslik= stripslashes($_POST["baslik"]);
    $icerik= stripslashes($_POST["icerik"]);
    $kisim=$_POST["kisim"];
    $spot=$_POST["spot"];
    
    if($_POST)
    {
    $yazdir=@mysql_query("INSERT INTO haberler (baslik, spot, detay, kat) VALUES ('$baslik', '$spot', '$icerik', '$kisim')");
    
    if($yazdir){
    ?>
    <table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#E8E8E8" width="100%" id="AutoNumber1" height="200">
        <tr>
          <td width="100%" height="150">
          <p align="center">
          <img border="0" src="resimler/loading.gif" width="100" height="100"></p>
          <p align="center">TEBRiKLER, Haber basariyla eklendi</p>
          </td>
        </tr>
    </table>
    	
    <?
    		header("Refresh: 5");
    		}
    	else{
    
    
    echo 'haber eklenemedi';
    
    	}
    	?>
        <?
    	
            
    	}
    	
        
        ?>
  • 01-04-2016, 12:09:47
    #2
    eklediğiniz haberde ' ( tırnak ) işareti varmı ? Hata kaynağı tırnak işaretleri olabilir. stripslashes fonksiyonunu add_slashes yaparak deneyin.
  • 01-04-2016, 12:21:35
    #3
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    eklediğiniz haberde ' ( tırnak ) işareti varmı ? Hata kaynağı tırnak işaretleri olabilir. stripslashes fonksiyonunu add_slashes yaparak deneyin.
    Evet Addslashes da problem çözülüyor ama güvenlik açıkları meydana getiriyor üstadım.

    addslashes yerine mysql_real_escape_string kullandım. Problem çözüldü. Tırnak olayını hiç düşünmemiştim. Hatırlatman sayesinde olay çözüldü teşekkürler.