İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Yorumlardaki uzun kelimeler sonucu tablolar bozuluyor yardım?

hotr1de

0
İyinet Üyesi
Katılım
27 Eylül 2006
Mesajlar
554
Reaction score
0
Bazıları yorumlarda örneğin şu şekilde mesaj atılıyor
seeeeeeeeeeeeeeeeeeeeeeeeeeeeeeviiiiiiiiiiiiiiiiiiiiiiiiiiyyyyyyyyyyyyyyoooooooooooooooooooorrrrrrrrrrrrrrruuuuuuummmmmmmmmm
ve kelime böyle uzun olunca alt satıra atlamıyor ve tasarım bozuluyor yorum ekleme sistemi şöyle :

PHP:
	mysql_query ("INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($_POST['title']) . "', '" . addslashes ($_POST['comment']) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')");

	$redirect_url = 'file.php?id=' . $_POST['file'];
	$message = 'Yorumunuz eklendi.';
	$tpl->output_page('redirect');
}
else if ($_POST['do'] == 'upload' || $_GET['do'] == 'upload')
{
	if ($_GET['do'] == 'upload')
	{
		/

Bu yorum ekleme sistemindeki title ve comment kısımlarına uzun yazı yazılınca mesela kelime 40 harften fazla oluşuyorsa kalanını atmak yada farklı bir çözüm nasıl yapabilirim ?



Edit: Yukarıdaki örnek kelimeyi bileşik yazmıştım belli bir kelimeden sonra vb bunu ayırmış böyle birşey yapmam gerek yardımcı olabilirmisiniz
 

FileZilla

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
204
Reaction score
0
http://tr2.php.net/wordwrap


Example 2458. wordwrap() example
<?php
$text = "A very long woooooooooooord.";
$newtext = wordwrap($text, 8, "\n", true);

echo "$newtext\n";
?>

The above example will output:

A very
long
wooooooo
ooooord.
 

hotr1de

0
İyinet Üyesi
Katılım
27 Eylül 2006
Mesajlar
554
Reaction score
0
Çok güzel açıklama saol ama nerde hata yapıyorum ilk formdan comment2 ve title2 olarak çekiyorum sonra şu şekilde ekliyorum php koduna

PHP:
$title = wordwrap($title2, 40, "\n", true);

$comment = wordwrap($comment2, 8, "\n", true);

ve en son şu şekilde kod gibi yazdırıyorum:

PHP:
mysql_query ("INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($_POST['title']) . "', '" . addslashes ($_POST['comment']) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')");

Fakat boş çıkıyor yorum ?
 

FileZilla

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
204
Reaction score
0
mysql_query ("INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($title) . "', '" . addslashes ($comment) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')");
 

annudora

0
İyinet Üyesi
Katılım
6 Mart 2006
Mesajlar
2,016
Reaction score
3
Konum
@nkara
peki sözcükte boşluk yoksa aaaaaaaaaaaabbbbbbbbbbbbbccccccc die uzatıyorsa ? :)
Bende de buna benzer problem oluyorda. SQL deilde ekrana yazdırınca sitenin şekli kayıyor.
 

FileZilla

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
204
Reaction score
0
$comment = wordwrap($comment2, 8, "\n", true);

sondaki true cut et demek kes yani ne olursa olsun ;)
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Database'e normal olarak atılır sonra basarken kontrollü basılır. Yazılan yorum üzerinde değişiklik yapmıyorlar genelde. Aşağıdaki gibi.

PHP:
$q = mysql_query("SELECT id,title,comment FROM yorumlar");

  while ($a = mysql_fetch_array($q)) {
     
     // yorum 40 karakterden uzunsa sadece ilk 40'ini bas  
     if (strlen($a[comment]) > "40") {
     echo substr($a[comment],0,40).'.. (<a href="yorum.php?id='.$a[id].'">tamamini oku</a>)';
     }

  }
 

hotr1de

0
İyinet Üyesi
Katılım
27 Eylül 2006
Mesajlar
554
Reaction score
0
yine boş gidiyor düzeltmeye çalıştım ama hata nerde olabilir form'dan comment2 ve title2 olarak çekiyorum

PHP:
$title = wordwrap($_POST["title2"], 40, "\n", true);

$comment = wordwrap($_POST['comment2'], 8, "\n", true); 
	$userinfo = $user->userinfo;

	$title = 'My Profile';
	$tpl->output_page ('profile');
}
else if ($_POST['do'] == 'comment')
{
	if (empty($_POST['title2']) || empty ($_POST['comment2']))
	{
		$message = 'Yorum eklemek icin forumu tamamen doldurmalisiniz.';
		$tpl->output_page('error');
	}

	// ##### CHECK FOR file #####
	$file_query = mysql_query ("SELECT * FROM files WHERE file_id = '" . intval ($_POST['file']) . "'");
	if (mysql_num_rows ($file_query) == 0)
	{
		$message = 'You are attempting to add a comment to a file which does not exist.';
		$tpl->output_page('error');
	}

	// ##### ADD COMMENT #####
	mysql_query ("INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($title) . "', '" . addslashes ($comment) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')");
 

hotr1de

0
İyinet Üyesi
Katılım
27 Eylül 2006
Mesajlar
554
Reaction score
0
beyler böyle tekrardan yazmak istemezdim ama hala çözemedim problemleri ve yazılan uzun mesajlar sitenin tasarımını aşırı bozuyor ve gitgide çekilmez bir hal alıyor bu iş yukardaki kodun neresinde hata olduğunu söyliyebilecek biri varmı acaba ?
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Sanırım yukarda yazdığın kodda, add comment bölümü boş gidiyor. Nerede bir sorun olduğunu anlamak için şunu deneyebiliriz.
PHP:
//Add Comment
$sorgu = "INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($title) . "', '" . addslashes ($comment) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')";
$calistir = mysql_query ($sorgu) or die(mysql_error());  
echo $sorgu;

/*
En sondaki Add Comment bölümünü yukarıdaki kodla değiştirip çalıştırdığında çıkan mesaj sorun çözümü için biraz yardımcı olacaktır.
*/
 

hotr1de

0
İyinet Üyesi
Katılım
27 Eylül 2006
Mesajlar
554
Reaction score
0
Sanırım yukarda yazdığın kodda, add comment bölümü boş gidiyor. Nerede bir sorun olduğunu anlamak için şunu deneyebiliriz.
PHP:
//Add Comment
$sorgu = "INSERT INTO comments (title, comment, file_id, user_id, added) VALUES ('" . addslashes ($title) . "', '" . addslashes ($comment) . "', '" . intval ($_POST['file']) . "', '" . $user->user['user_id'] . "', '" . time() . "')";
$calistir = mysql_query ($sorgu) or die(mysql_error());  
echo $sorgu;

/*
En sondaki Add Comment bölümünü yukarıdaki kodla değiştirip çalıştırdığında çıkan mesaj sorun çözümü için biraz yardımcı olacaktır.
*/

evet bunu ekliyince boş gittiğini yazdırarakta anlamış oldum ama hala bir çözüm bulamadım..
 

desoLate

0
İyinet Üyesi
Katılım
14 Haziran 2006
Mesajlar
220
Reaction score
0
Bu kodu yazdırmaktaki maksadım, herhangi bir hata mesajı görüp göremeyeceğimizdi, zaten boş gittiğini bir önceki mesajında belirtmiştin..

Neyse, kodlara bakılınca,
else if ($_POST['do'] == 'comment')
{
Bu noktada açılan parantezin kapatıldığı gözükmüyor. Eğer verdiğim kodu yazdığın halde, hiçbir hata mesajı almadan sadece beyaz boş bir sayfa çıktıysa, bu muhtemelen parantez hatası vb. olduğunu gösterir.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst