| Autor | Zpráva | ||
|---|---|---|---|
| leorond Profil |
Dobrý den, mám tu menší problém s výpisem z databáze. Ukládám do databáze pomocí tinyMCE a záznam se do databáze uloží tak jak má, pokud vezmu záznam z databáze a vložím ho do
echo, print nebo printf tak se vypíše správně ale pokud budu vypisovat z databáze tak se nezobrazí žádné formátování textu kromě tučného písma a kurzívy.
Skript pro výpis <?php
$num = 5; // Počet příspěvků na stránku
$page = $_GET['stranka']; // Název nové stránky
$result00 = mssql_query("SELECT COUNT(*) FROM ROD_news");
$temp = mssql_fetch_array($result00);
$posts = $temp[0]; //
if ($posts == 0) $posts = 1; // Pokud není příspěvek = 0
$total = (($posts - 1) / $num) + 1; //
$total = intval($total); // Proměnná počtu stránek zabezpečení
$page = intval($page); // Proměnná stránky zabezpečení
if (empty($page) or $page < 0) $page = 1; // Pokud stránka prázdná, menší než 0 => 1 stránka
if ($page > $total) $page = $total; // Pokud je stránka větší než totál => stránka se rovná totál
$start = $num * ($page - 1); // Startovní stránka => počet příspěvků * ( stránka - 1 )
$result = mssql_query("SELECT TOP $num * FROM ROD_news where id NOT IN (SELECT TOP $start id FROM ROD_news ORDER BY id desc) ORDER BY id desc");
if (mssql_num_rows($result) > 0) // Pokud je počet příspěvků > než 0, budeme vypisovat
{
$myrow = mssql_fetch_assoc($result);
do
{
$headline = htmlspecialchars($myrow["headline"]);
$text = $myrow["text"]; // <= rozdel($myrow["text"], 200)
$posted_by = htmlspecialchars($myrow["account"]);
$date = date(" d.m.Y v H:i:s ", intval($myrow["time"]));
printf ("<table id='news-table'>
<tr><td class='news-headline'><a href='?pages=pages/show&news=".intval($myrow["id"])."'>".$headline."</a><font style='color:red; float:right; font-size:12px'>".$posted_by.$date."</font></td></tr>
<tr><td>".$text."</td></tr>
</table>
<div id='oddel-bottom-center'></div>");
}
while ($myrow = mssql_fetch_assoc($result)); // Budeme opakovat výpis do vypsání všech příspěvků
} // Odkazy na ostatní stránky ↓ ( šipky alt + 24 )
if ($page != 1) $pervpage = '<a href="?pages=pages/home&stranka=1">Začátek</a><a href="?pages=pages/home&stranka='.($page - 1).'">Zpět</a>';
if ($page != $total) $nextpage = '<a href="?pages=pages/home&stranka='.($page + 1).'">Další</a><a href="?pages=pages/home&stranka='.$total.'">Konec</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<center><div>";
echo $pervpage.$nextpage;
echo "</div></center>";
}
?>Děkuji za pomoc |
||
| leorond Profil |
Nejde mi to do hlavy, pokud použiji na výpis
htmlspecialchars() tak se mi vypíše text i se vším všudy ale pokud ho vypíšu normálně tak tam žádné formátování není.
<!DOCTYPE html> <html> <head> </head> <body> <p>asdasdasd</p> <p><span style=\"color: #ff0000;\">asdasdasd</span></p> <p><span style=\"color: #ff0000;\"><span style=\"color: #ffff00; background-color: #ff0000;\">asdasdasdasd</span><br /></span></p> </body> </html> Opraveno funkcí stripslashes()
$text = stripslashes("\\".$myrow["text"]); |
||
| leorond Profil |
#3 · Zasláno: 12. 3. 2016, 14:34:09
Jenom dodám kdyby měl někdo stejný problém tak je potřeba se zbavit zpětných lomítek.
|
||
| Alphard Profil |
#4 · Zasláno: 12. 3. 2016, 17:24:14
leorond:
„Jenom dodám kdyby měl někdo stejný problém tak je potřeba se zbavit zpětných lomítek.“ To by právě nemělo být potřeba, ukazuje to spíš na zdvojené escapování, častý problém v dávných dobách zapnutého magic_quotes. Zpětná lomítka nepatřící do textu se vůbec nemají dostat do databáze, doporučuji zkontrolovat script, který tu databázi plní.
|
||
| leorond Profil |
No to jsem právě udělal několikrát ale nenašel jsem chybu.
Ještě bych mohl kouknout na to magic_quotes, to mne popravdě ani nenapadlo. Dělám na localhost na xampp takže tam by chyba být mohla.Alphard: dík opravdu jsem měl zapnuté magic_quotes_gpc a to mi tam házelo ty lomítka :D
|
||
|
Časová prodleva: 10 let
|
|||
0