проблем със система за новини

val4o0o0

Registered
проблема ми е следния, искам когато напиша дадена новина и примерно има разстояние:

Здравейте,

блябляля

да има разстояние, тоест <br />, но когато пиша новините и има разстояние това <br /> или разстояние или както и да е, го няма..

това е от админ панела (admin_news_add.php)

Код:
<form method="POST">
<input type="hidden" name="id" value="
<?php 
define('IN_VALID', true); 
include('conn_novini.php'); //добавяме config файла
mysql_query("SET NAMES UTF8"); 
$our = mysql_query("SELECT id FROM news ORDER BY id DESC LIMIT 1");
while($r=mysql_fetch_array($our)){
$id=$r[id]+1;
echo$id;
}?>">
<font color="#000">Автор:</font> <input name="awtor" value="" style="color: #000"/><br />
<font color="#000">Име на новината:</font> <br /><input type="text" name="ime" style="color: #000"><br />
<font color="#000">Новина:</font> <br /><textarea rows="7" name="nowina" cols="40" type="text" style="color: #000"></textarea><br />
<input name="news" type="submit" value="Добави!" style="color: #000">
</form>
<?php
if ($_POST['news']) {
$ime = $_POST['ime'];
$nowina = $_POST['nowina'];
$awtor = $_POST['awtor'];
if((empty($awtor)) && (empty($ime)) && (empty($nowina))) {
//проверява дали всички полета са попълнени
echo "Не си попълнил някое от полетата.";
}else{

$checkime = mysql_query("SELECT ime FROM news WHERE ime='$ime'");
$checkname= mysql_num_rows($checkime);
if ($checkname>0) {
// опа..някой е добавил тази новина вече!
echo "Тази новина вече е била добавяна";
}else{
// никой не е добавят тази новина, продължаваме...
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars($nowina);
$id = htmlspecialchars($id);
// превръщаме полетата да не са в html
//всичко е перфректно да добавяме
$query = mysql_query("INSERT INTO `news` (awtor, ime, nowina, id) VALUES('$awtor','$ime','$nowina','$id')");
// успешно добавихме новината
echo "<font color=\"#000\">Успешно добави новина!</font>";
}
}
}
else
{
//формата не е използвана
echo ("");
}

?>

А така се извеждат в индекса:

Код:
<?php
define('IN_VALID', true);
include ('conn_novini.php'); //добавяме config файла
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 6"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){
if (strlen($r['nowina']))
{$totchki='';}
else
{$totchki='';}
$kratko = substr($r['nowina'],0); //правим новината да не е повече от някакъв брой символи
echo "<div class='news'>".$r['ime']."</div><div style='padding-top: 5px'></div><div align='left' class='news'>".wordwrap($kratko,true).$totchki." <div class='hr'></div>
<div align=\"right\"><font color=\"#00B2EE\">Автор: <b>$r[awtor]</b></font> </div></div><br />";
}; ?>
Има ли някой някакви идеи как да го оправиме ?
 
Аз поне не разбрах ако може да го обясниш по подробно :)

ЕДИТ: Мисля че разбрах г/д функцията която ти трябва е nl2br преди да запишеш информацията мини низа през нея и ще направи вискчи нови редове в <br /> та ;-)
 
string nl2br ( string $string [, bool $is_xhtml = true ] ) - ако имаш в предвид това, след добавяне не ми зареждаше страницата за добавянето, а пък и не съм толкова в час с това php, пробвах когато ги пиша да пиша <br />
след текст, но и той излиза като текст, а не като фукнция..
 
val4o0o0 каза:
string nl2br ( string $string [, bool $is_xhtml = true ] ) - ако имаш в предвид това, след добавяне не ми зареждаше страницата за добавянето, а пък и не съм толкова в час с това php, пробвах когато ги пиша да пиша <br />
след текст, но и той излиза като текст, а не като фукнция..

Попринцип не е нужно да пишеш <br />
просто правиш го така:
form method="POST">
<input type="hidden" name="id" value="
<?php
define('IN_VALID', true);
include('conn_novini.php'); //добавяме config файла
mysql_query("SET NAMES UTF8");
$our = mysql_query("SELECT id FROM news ORDER BY id DESC LIMIT 1");
while($r=mysql_fetch_array($our)){
$id=$r[id]+1;
echo$id;
}?>">
<font color="#000">Автор:</font> <input name="awtor" value="" style="color: #000"/><br />
<font color="#000">Име на новината:</font> <br /><input type="text" name="ime" style="color: #000"><br />
<font color="#000">Новина:</font> <br /><textarea rows="7" name="nowina" cols="40" type="text" style="color: #000"></textarea><br />
<input name="news" type="submit" value="Добави!" style="color: #000">
</form>
<?php
if ($_POST['news']) {
$ime = $_POST['ime'];
$nowina = $_POST['nowina'];
$awtor = $_POST['awtor'];
if((empty($awtor)) && (empty($ime)) && (empty($nowina))) {
//проверява дали всички полета са попълнени
echo "Не си попълнил някое от полетата.";
}else{

$checkime = mysql_query("SELECT ime FROM news WHERE ime='$ime'");
$checkname= mysql_num_rows($checkime);
if ($checkname>0) {
// опа..някой е добавил тази новина вече!
echo "Тази новина вече е била добавяна";
}else{
// никой не е добавят тази новина, продължаваме...
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars(nl2br($nowina));
$id = htmlspecialchars($id);
// превръщаме полетата да не са в html
//всичко е перфректно да добавяме
$query = mysql_query("INSERT INTO `news` (awtor, ime, nowina, id) VALUES('$awtor','$ime','$nowina','$id')");
// успешно добавихме новината
echo "<font color="#000">Успешно добави новина!</font>";
}
}
}
else
{
//формата не е използвана
echo ("");
}

?>

и Извеждането
<?php
define('IN_VALID', true);
include ('conn_novini.php'); //добавяме config файла
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 6"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){

if (strlen(htmlspecialchars_decode($r['nowina'])))
{$totchki='';}
else
{$totchki='';}
$kratko = substr($r['nowina'],0); //правим новината да не е повече от някакъв брой символи
echo "<div class='news'>".$r['ime']."</div><div style='padding-top: 5px'></div><div align='left' class='news'>".wordwrap($kratko,true).$totchki." <div class='hr'></div>
<div align="right"><font color="#00B2EE">Автор: <b>$r[awtor]</b></font> </div></div><br />";
}; ?>
[/quote]
 
да явно, действа, защото не пиша <br />-та, но в новината излизат, но както ти казах, те излизат, но не като фукнция, пиша примерно:
тест
тест
тест
излиза:
тест<br /> тест<br /> тест
нямам си на идея от какво е, новините се записват в датабаза, незнам какво не е на ред..

------------------
ето я цялата система:
index:
Код:
<?php
define('IN_VALID', true);
include ('conn_novini.php'); //добавяме config файла
$our = mysql_query("SELECT ime , awtor, nowina, id FROM news ORDER BY id DESC LIMIT 6"); //избираме кои неща да вземем от БД
while($r=mysql_fetch_array($our)){
if (strlen($r['nowina']))
{$totchki='';}
else
{$totchki='';}
$kratko = substr($r['nowina'],0); //правим новината да не е повече от някакъв брой символи
echo "<div class='news'>".$r['ime']."</div><div style='padding-top: 5px'></div><div align='left' class='news'>".wordwrap($kratko,true).$totchki." <div class='hr'></div>
<div align=\"right\"><font color=\"#00B2EE\">Автор: <b>$r[awtor]</b></font> </div></div><br />";
}; ?>

admin_news.php
Код:
<?php
define('IN_VALID', true); 
include ('conn_novini.php');//добавяме config файла; 
mysql_query("SET NAMES UTF8"); 
$getid = $_GET['id'];
$sqlquery = "SELECT * from news order by id desc";
$queryresult = mysql_query($sqlquery)
or die ("Заявката не може да се изпълни");
//показване на данните от базата данни
while ($data = mysql_fetch_array($queryresult))
{
echo "<a href=\"del.php?id=$data[id]\">Изтрий</a> / <a href=\"admin_news_edit.php?id=$data[id]\">Промени</a>";

if (strlen($data[ime])>$zbroi)
{$totchki='...';}
else
{$totchki='';}
$kratko = substr($data[ime],0,$zbroi);
echo "
".
$pic."

<font size=\"2\"><a href='admin_news_view.php?id=$data[id]'>$kratko".$totchki."</a></font>

<font size=\"2\"> - <font color=\"#fff\">Автор:$data[awtor]</font></b></font> <br />

";
}
?>

admin_news_add.php
Код:
<?php
if ($_POST['news']) {
$ime = $_POST['ime'];
$nowina = $_POST['nowina'];
$awtor = $_POST['awtor'];
if((empty($awtor)) && (empty($ime)) && (empty($nowina))) {
//проверява дали всички полета са попълнени
echo "Не си попълнил някое от полетата.";
}else{

$checkime = mysql_query("SELECT ime FROM news WHERE ime='$ime'");
$checkname= mysql_num_rows($checkime);
if ($checkname>0) {
// опа..някой е добавил тази новина вече!
echo "Тази новина вече е била добавяна";
}else{
// никой не е добавят тази новина, продължаваме...
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars($nowina);
$id = htmlspecialchars($id);
// превръщаме полетата да не са в html
//всичко е перфректно да добавяме
$query = mysql_query("INSERT INTO `news` (awtor, ime, nowina, id) VALUES('$awtor','$ime','$nowina','$id')");
// успешно добавихме новината
echo "<font color=\"#000\">Успешно добави новина!</font>";
}
}
}
else
{
//формата не е използвана
echo ("");
}

?>

admin_news_edit.php
Код:
<?php
define('IN_VALID', true); 
include('conn_novini.php');//добавяме config файла
mysql_query("SET NAMES UTF8"); 
$getid = $_GET['id'];
if (!$_POST['news'])
{
// формата не е била използвана
$our = mysql_query("SELECT awtor, ime, nowina FROM news where id='$getid' ");
while($r=mysql_fetch_array($our)){
// взимаме инфо за да го покажем в полетата.
?>
<form method="POST">
<font color="#000">Автор:</font> <input type="text" name="awtor" style="color: #000" value="<?PHP echo"$r[awtor]"; ?>"/><br />
<font color="#000">Име на новината:</font> <br /><input type="text" style="color: #000" value="<?PHP echo"$r[ime]"; ?>" name="ime"><br />
<font color="#000">Новина:</font> <br /><textarea rows="7" name="nowina" cols="40" type="text" style="color: #000"><?PHP echo"$r[nowina]"; ?></textarea><br />
<input name="news" type="submit" value="Добави!" style="color: #000">
</form>
<?
}
}
else{

$ime = $_POST['ime'];
$awtor = $_POST['awtor'];
$nowina = $_POST['nowina'];
//взимаме информацията от полетата, които юзера е въвел
$awtor = htmlspecialchars($awtor);
$ime = htmlspecialchars($ime);
$nowina = htmlspecialchars($nowina);

echo ("<font color='#000'>Успешно променена новина!</font>"); //ако пък са равно ъпдейтваме базата данни
$update = mysql_query("Update news set awtor = '$awtor' , ime = '$ime' , nowina = '$nowina' where id = '$getid'");
}
?>

admin_news_view.php
Код:
<?php
define('IN_VALID', true); 
include('conn_novini.php');//добавяме config файла
mysql_query("SET NAMES UTF8"); 
$getid = $_GET['id'];
$sql = "SELECT * FROM news WHERE id = '$getid'"; //взимаме информация от БД...
$result = @mysql_query($sql,$connection) or die(mysql_error());

while ($sql = mysql_fetch_object($result))
{
$ime = $sql -> ime;
$nowina = $sql -> nowina;
$awtor= $sql -> awtor;



}?>
<?php
if(!$getid){die('Трябва да изберете коя новина да видите!!!');} //ако човека се е заплеснал и не е избрал новина, която да види...
?>


<div id='news'><?php echo "$ime </b>";?></div>

<div id='news'><?php echo $nowina;?> <div class='hr'></div> </div> <div align="right"><font color="white"><?php echo" Автор: <b> ".$awtor."</b>"?></font></div><br />
 
Трябва навсякъде където вадиш Текста на новината да слагаш фукцията
htmlspecialchars_decode($tuk ot BD rezultata) Това и тогава вече ще ти излизат няма да ти излзиат <br /> тата а ще си минава на нов ред ;-)
 
добре, промених ги по-другите файлове, но ето тук, как трябва да стане?

$nowina = $sql -> nowina;
 
val4o0o0 каза:
добре, промених ги по-другите файлове, но ето тук, как трябва да стане?

$nowina = $sql -> nowina;

Не съм много сигурен затова го направи:
$nowina = $sql -> nowina
$nowina = htmlspecialchars_decode($nowina);
 

Back
Горе