Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

DB'ye html kod gönder?

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
merhaba arkadaşlar bir script yazmaktayım bir sorunla karşılaştım admin panelde reklamlar bulunmakta reklam kodlarını db ye elle girdim düzenlemeye çalıştığımda düzenleme yapmıyor. nedeni ise textarea 'ya girdiğim html kodlar başka bir değer girdiğimde yazı sayı gibi güncelliyor.

alan türü varchar 255 bunu mu değiştirmeliyim acaba? değiştirmeliysem hangi türü kullanmalıyım?

yardım ederseniz sevinirim teşekkürler
 

Loi

0
Onaylı Üye
Üye
Katılım
13 Kasım 2006
Mesajlar
6,192
Açılan Konu
145
Tepki puanı
44
Konum
localhost
Anlaşılmıyorki mevzu, biraz daha açıklasan. Nasıl sayı oluyor?
 

yagmayok

1
Onaylı Üye
Üye
Katılım
25 Ocak 2005
Mesajlar
7,131
Açılan Konu
304
Tepki puanı
86
Sorunu bende tam olarak anlayamadım ama varchar 255 ile o satıra 255'den fazla karakterde giriş yapamazsın. Belki bundan kaynaklanıyor olabilir.

O bölümü text olarak değiştirip bir deneyebilirsiniz.
 

iyinet

Root
Root
İyinet Ekibi
Onaylı Üye
Katılım
2 Eylül 2002
Mesajlar
5,034
Açılan Konu
485
Tepki puanı
75
Konum
SEO
255 i text yapman gerekiyor.
Ama sorun sanirim karakter kodunda.
Veritabaninin charset i ile reklam girisi yaptigin sayfanin ve formun charsetinin uyusmasi gerekiyor.
Ornegin veritabanin utf-8 ise formun icine accept-charset="utf-8" ekle.
<form name="..." method="get" action="" accept-charset="utf-8">
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
iyinet dediğin şekilde yaptım olmadı.

yagmayok şöyle bir kod vermişti onu koymuştum kaldırdım belki bundandır diye gene olmadı.

PHP:
mysql_query("SET NAMES 'latin5'");    
mysql_query("SET CHARACTER SET 'latin5'");    
mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");

sayfalarım


reklam_duzenle.php


PHP:
<?php
include ("ayar.php");
?>
<html>

<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<meta http-equiv="Content-Language" content="tr">
<link rel="stylesheet" type="text/css" href="css/panel.css">
  <style type="text/css">

body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	margin: 0;
	font-size: 80%;
	font-weight: bold;
	background-image:url(images/bg_menu.jpg)
SCROLLBAR-BASE-COLOR: #FFFFFF;
SCROLLBAR-FACE-COLOR: #E158A1;
SCROLLBAR-ARROW-COLOR: #EEEEEE;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
SCROLLBAR-TRACK-COLOR: #EEEEEE;
SCROLLBAR-HIGHLIGHT-COLOR: #AC9E91};
SCROLLBAR-DARKSHADOW-COLOR: #444488;
	}
  </style>
</head>

<body style="background-image: url(''); background-color:#F9F0F9">

<br><br><br><table width="600" border="0" align="center" cellpadding="4" cellspacing="1" class="tbl" id="table1">
  <tr>
    <td class="tbbaslik" style="background-image: url('../images/bg_kose.gif')" width="589" colspan="3">
	<p align="center"><b>Reklam Düzenle</b></td>
  </tr>
  <tr>
    <td width="588" colspan="3">
	<p align="left"><font color="#FFFFFF">
	<span style="font-size:10pt;font-family:Tahoma;font-weight:700">
			 </span></font></p>
			</td>
  </tr>
  <tr>
<?php
$sorgu = mysql_query("SELECT * FROM reklam WHERE id='$_GET[id]'");
while ($cek = mysql_fetch_array($sorgu)) {
$id = $cek[id];
$reklam_adi = $cek[reklam_adi];
$reklam_kodu = $cek[reklam_kodu];
echo "<form action='reklamduzenle.php?id=$cek[id]' method='post'><td width='139'>
	<p align='right'>
	<font color='#E158A1'><b>
			<span style='font-size:10pt;font-family:Tahoma;'>
			Reklam Adı</span></b><span style='font-size:10pt;font-family:Tahoma;font-weight:700'>
			</span>
			</font>
			</td>
    <td width='-1'>
	<font color='#E158A1'><b>
			<span style='font-size:10pt;font-family:Tahoma;'>
			:</span></b><span style='font-size:10pt;font-family:Tahoma;font-weight:700'>
			</span>
			</font>
			</td>
    <td width='432'>
	<input type='text' name='reklam_adi' size='21' value='$cek[reklam_adi]'></td>
  </tr>
  <tr>
    <td width='139'>
	<p align='right'><font color='#E158A1'><b>
			<span style='font-size:10pt;font-family:Tahoma;'>
			Reklam Kodu</span></b></font></td>
    <td width='-1'>
	<font color='#E158A1'><b>
			<span style='font-size:10pt;font-family:Tahoma;'>
			:</span></b><span style='font-size:10pt;font-family:Tahoma;font-weight:700'>
			</span>
			</font>
			</td>
    <td width='432'>
    <textarea name='reklam_kodu' cols='28' rows='7' size='100' >$cek[reklam_kodu]</textarea></td>
  </tr>
  <tr>
    <td width='139'></td>
    <td width='-1'></td>
    <td width='432'><input type='submit' value='Güncelle' ></td></form>";
}
?>
    

  </tr>
  <tr>
    <td width="139">
	 </td>
    <td width="-1">
	 </td>
    <td width="432">
	 </td>
  </tr>
  	</table>



</html>



reklamduzenle.php


PHP:
<?php
include "ayar.php";

$id=$_GET['id'];
$reklam_adi=$_POST['reklam_adi'];
$reklam_kodu=$_POST['reklam_kodu'];

$guncelle = mysql_query("UPDATE reklam SET reklam_adi='$reklam_adi',reklam_kodu='$reklam_kodu' WHERE id='$_GET[id]' ");

if (!$guncelle){
echo "<br><br><br><table width='600' border='0' align='center' cellpadding='4' cellspacing='1' class='tbl' id='table1'>
  <tr>
    <td class='tbbaslik' style='background-image: url('url(')'../images/bg_kose.gif')' width='589' colspan='3'>
	<p align='center'><b>Reklam Düzenle</b></td>
  </tr>
  <tr>
    <td width='588' colspan='3'><br>
	<p align='left'><font color='#E158A1'>
	<span style='font-size:10pt;font-family:Tahoma;font-weight:700'>
			<center>Güncellenemedi<center></span></font></p>
			</td>
  </tr>
  	</table><META http-equiv=refresh content=\"1;url=reklamlar.php\">";

} else {
echo "<br><br><br><table width='600' border='0' align='center' cellpadding='4' cellspacing='1' class='tbl' id='table1'>
  <tr>
    <td class='tbbaslik' style='background-image: url('url(')'../images/bg_kose.gif')' width='589' colspan='3'>
	<p align='center'><b>Reklam Düzenle</b></td>
  </tr>
  <tr>
    <td width='588' colspan='3'><br>
	<p align='left'><font color='#E158A1'>
	<span style='font-size:10pt;font-family:Tahoma;font-weight:700'>
			<center>Güncellendi<center></span></font></p>
			</td>
  </tr>
  	</table><META http-equiv=refresh content=\"1;url=reklamlar.php\">";

}

?><body bgcolor="#000000" background="images/arkaplan.jpg" style="background-color: #F9F0F9; background-image: url('')">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1254">
<meta http-equiv="Content-Language" content="tr">
<link rel="stylesheet" type="text/css" href="css/panel.css">
    <style type="text/css">

body {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	margin: 0;
	font-size: 80%;
	font-weight: bold;
SCROLLBAR-BASE-COLOR: #FFFFFF;
SCROLLBAR-FACE-COLOR: #E158A1;
SCROLLBAR-ARROW-COLOR: #EEEEEE;
SCROLLBAR-SHADOW-COLOR: #FFFFFF;
SCROLLBAR-TRACK-COLOR: #EEEEEE;
SCROLLBAR-HIGHLIGHT-COLOR: #AC9E91};
SCROLLBAR-DARKSHADOW-COLOR: #444488;
	}
  </style>


karşılaştırmam : latin5_turkish_ci

utf8 de denedim latin5_turkish_ci de denedim olmadı.

yardım ederseniz sevinirim teşekkürler
 

yagmayok

1
Onaylı Üye
Üye
Katılım
25 Ocak 2005
Mesajlar
7,131
Açılan Konu
304
Tepki puanı
86
Peki post ile çekilen veriyi yazdırdığınıda form'da yazdığın gibi mi çıkıyor ! Bunu echo ile alarak bir denetler misin...
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
html kod girmediğimde normal yazı vs girdiğimde yazıyor o şekilde sorun yok.
 

yagmayok

1
Onaylı Üye
Üye
Katılım
25 Ocak 2005
Mesajlar
7,131
Açılan Konu
304
Tepki puanı
86
html kod girmediğimde normal yazı vs girdiğimde yazıyor o şekilde sorun yok.

Onu kastetmedim...
Html olarak forma girdikten sonra post olarak gönderdiğin sayfada "reklamduzenle.php"

PHP:
<textarea name='reklam_kodu' cols='28' rows='7' size='100' ><? echo $_POST['reklam_kodu']; ?></textarea>

şeklinde bi çek. orada formda girdiğin şekli (HTML) ile mi çıkıyor. Öncelikle orada sorun olup olmadığını bir tam olarak anlayalım. Orada sorun yoksa veri yazdırma bölümünde var demektir.

Bir dener misin !
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
html kod girip formu gönderdikten sonra html kodu db'ye yazmıyor ama html kod yerine yazı yazsam db'ye yazıyor.
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
sorun henüz çözülmedi bir arkadaş yardım edebilirse sevinirim teşekkürler
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
konudan bişey anlamadım, sorun olduğu durumda girdiğin veri ile sorun olduğu durumda veritabanına kayıt yapılan hatalı veriyi örnekleyebilirsen sorunu söyleyeyim.

anlamadığım halde genel olarak sorun olabilecek şeyler hakkında bilgi vereyim;

mysql_real_escape_string ile verilerinizi escape etmemişsiniz. reklam kodunda tırnak geçerse kodun hata verecektir.

Magic Quotes açık olabilir, html kodlarını bozuyordur.
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
merhabalar tırnaksız denedim oldu acaba şu an localhostta olduğu için mi tırnaklı hali hata verdi? hostingde henüz denemedim
 

...::LorD::...

0
Onaylı Üye
Üye
Katılım
27 Aralık 2007
Mesajlar
2,109
Açılan Konu
124
Tepki puanı
2
Konum
cHeteM
başka bir forumda yardım etti sağolsun kullanmam gereken kod

addslashes($reklam)

ilgilenen arkadaşlara teşekkürler
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
başka bir forumda yardım etti sağolsun kullanmam gereken kod

addslashes($reklam)

ilgilenen arkadaşlara teşekkürler

kullanmanız gereken kod addslashes değil daha önceki mesajımda belirttiğim mysql_real_escape_string fonksiyonudur.

yanlış bilgilendirme olmasın.
 

muratmoon

0
Onaylı Üye
Üye
Katılım
5 Eylül 2008
Mesajlar
194
Açılan Konu
11
Tepki puanı
0
sorununu çözmüş olabilir çünkü unicode kullanmıyorsundur, karakter setini değişirsen sorun yaşarsın.

doğru olan benim önerdiğim fonksiyondur.
 
Üst