Jak wprowadzać znaczniki do bazy danych?

0

Jak wprowadzać znaczniki html do bazy danych, aby podczas wyświetlana ich na stronie traktowane były jako elementy html a nie zwykły tekst?

0

Trzeba je wprowadzić jako elementy HTML :)

0

A jak stworzyłem skrypt newsów oparty o bazę danych, to czy nie mogę np. do jednego newsa wprowadzić hiperłączę, a do drugiego znacznik <img.../> lub ... ?

0

Wg mnie możesz. Ale musisz zapisać (i odczytać) HTML-a (lub odpowiednio spreparowanego HTML-a)

0

ale gdy tak robię, to wyświetlają się znaczniki jako zwykły tekst

0

Pokaż kod zapisu i odczytu.

0

Zapis

[code]<?php
// doł±czenie kodu współużytkowanego
include '../lib/common.php';
include '../lib/db.php';
include '../lib/User.php';

// użytkownik musi się zalogować
include '401.php';

// aby uzyskać dostęp do strony, użytkownik musi posiadać odpowiednie uprawnienie
$user = User::getById($_SESSION['userId']);
if (~$user->permission & User::CREATE_FORUM)
{
die('

Przepraszamy. Nie masz uprawnień do tworzenia nowych wpisów.

');
}</p>

// wygenerowanie dodatkowych elementów w sekcji HTML head
ob_start();
?>

<script type="text/javascript" src="js/yui/yahoo-dom-event/yahoo-dom-event.js"> </script> <script type="text/javascript" src="js/yui/calendar/calendar-min.js"></script> <script type="text/javascript" src="js/tinymce/tiny_mce.js"></script> <script type="text/javascript" src="js/helper.js"></script> <script type="text/javascript" src="js/blog_admin.js"></script> <script type="text/javascript"> tinyMCE.init({mode : "textareas", theme : "simple", width : "450" }); </script> <link rel="stylesheet" type="text/css" href="css/calendar.css" /> <style type="text/css"> #calendar { display: none; position: absolute; z-index: 1; } </style> <?php $GLOBALS['TEMPLATE']['extra_head'] = ob_get_contents(); ob_clean();

// wygenerowanie formularza wpisu
?>

<form action="post_admin.php" method="post">
<label for="post_id">Wpis w blogu</label> <select name="post_id" id="post_id" /> <option value="select">WYBIERZ</option> <option value="new">Dodaj nowy</option> <?php // odczytanie listy tytułów wpisów $query = sprintf('SELECT POST_ID, POST_TITLE, UNIX_TIMESTAMP(POST_DATE) ' . 'AS POST_DATE FROM %sBLOG_POST ORDER BY POST_DATE DESC, POST_TITLE ASC', DB_TBL_PREFIX);

$result = mysql_query($query, $GLOBALS['DB']);
while ($record = mysql_fetch_assoc($result))
{
echo '<option value="' . $record['POST_ID'] . '">';
echo '(' . date('Y-m-d', $record['POST_DATE']) . ') ' .
$record['POST_TITLE'];
echo '</option>';
}
mysql_free_result($result);
?>
</select>

<label for="post_title">Tytuł</label> <input type="text" name="post_title" id="post_title" />
<label for="post_date">Data</label> <input type="text" name="post_date" id="post_date" maxlength="10" size="10" value="&lt;?php echo date('Y-m-d'); ?">"/> Pokaż kalendarz
<label for="news_content&quot;">Treść</label> <textarea id="post_text" name="post_text" rows="15" cols="60"></textarea>
<input type="checkbox" id="delete" name="delete" /> <label for="delete">Usuń wpis</label>
<input type="submit" value="Zapisz" id="form_submit" class="button" /> <input type="reset" value="Anuluj" id="form_reset" class="button" />
</form> Wyloguj się <?php $GLOBALS['TEMPLATE']['content'] = ob_get_clean();

include '../templates/template-page.php';
mysql_close($GLOBALS['DB']);
?>
[/code]

Odczyt
[code]

<?php include('gora.html'); ?> <link rel="stylesheet" href="style.css" />

News

<?php // doł±czenie kodu współużytkowanego include 'lib/common.php'; include 'lib/db.php';

// odwołania Javascript
$GLOBALS['TEMPLATE']['extra_head'] = <<<ENDHTML

<script src="publc_files/js/helper.js" type="text/javascript"></script> <script src="public_files/js/blog.js" type="text/javascript"></script>

ENDHTML;

// odczytanie wpisów
$query = sprintf('
SELECT
POST_ID, POST_TITLE, POST_TEXT,
UNIX_TIMESTAMP(POST_DATE) AS POST_DATE
FROM
%sBLOG_POST
ORDER BY
POST_DATE DESC',
DB_TBL_PREFIX,
$year, $month,
$year, $month);
$result = mysql_query($query, $GLOBALS['DB']);

ob_start();
if ($total = mysql_num_rows($result))
{
// przesunięcie pozycji na li¶cie
$start = (isset($_GET['start']) && ctype_digit($_GET['start']) &&
$_GET['start'] <= $total) ? $_GET['start'] : 0;

    // przesunięcie wskaĽnika do odpowiedniego rekordu pocz±tkowego
    mysql_data_seek($result, $start);

    // wy¶wietlenie 10 pozycji
    $count = 0;
    while ($count++ < 10 && $row = mysql_fetch_assoc($result))
    {
			echo '<section>';
echo '<h6>' . $row['POST_TITLE'] . '</h6>';
echo date('d-m-Y', $row['POST_DATE']) . '<br/>';
echo $row['POST_TEXT'];
echo '</section>';

}

    // wygenerowanie menu stronicowania
    echo '<footer class="news">';
    if ($start > 0)
    {
        echo '<a rel="nofollow" href="index.php?&start=' .
            ($start - 10) . '">&lt; Młodsze</a>';
    }
    if ($total > $start + 10)
    {
	echo '&nbsp;&nbsp;&nbsp;';
        echo '<a rel="nofollow" href="index.php?&start=' .
            ($start + 10) . '">Starsze &gt;</a>';
			echo '</footer>';
    }

}
mysql_free_result($result);
?>

</section> <?php include ('dol1.html'); ?> [/code]
0

Odczyt (teoretycznie) masz dobrze. Nic nie wycinasz, nic nie dodajesz...
Nie wiem, czy wiesz, ale w MySQL-u jest coś takiego jak LIMIT :)
Co do zapisu, to nie wiem, co tam robisz, bo nie dałeś go - plik 'post_admin.php'.
A sprawdzałeś w kodzie czyw < section > nie masz dobrego HTML-a?

0

O LIMIT wiem, a oto post_admin.php
[code]

<?php // doł±czenie kodu współużytkowanego include '../lib/common.php'; include '../lib/db.php'; include '../lib/functions.php'; // skrypt niedostępny, je¶li użytkownik wcze¶niej się nie zaloguje include '401.php'; // wstawienie nowego wpisu w blogu if ($_POST['post_id'] == 'new') { $query = sprintf('INSERT INTO %sBLOG_POST SET POST_TITLE = "%s", ' . 'POST_DATE = "%s", POST_TEXT = "%s"', DB_TBL_PREFIX, mysql_real_escape_string($_POST['post_title'], $GLOBALS['DB']), date($_POST['post_date']), mysql_real_escape_string($_POST['post_text'], $GLOBALS['DB'])); mysql_query($query, $GLOBALS['DB']); } else { // usunięcie wpisu if (isset($_POST['delete'])) { $query = sprintf('DELETE FROM %sBLOG_POST WHERE POST_ID = %d', DB_TBL_PREFIX, $_POST['post_id']); mysql_query($query, $GLOBALS['DB']); } // uaktualnienie wpisu else { $query = sprintf('UPDATE %sBLOG_POST SET POST_TITLE = "%s", ' . 'POST_DATE = "%s", POST_TEXT = "%s" WHERE POST_ID = %d', DB_TBL_PREFIX, mysql_real_escape_string($_POST['post_title'], $GLOBALS['DB']), date($_POST['post_date']), mysql_real_escape_string($_POST['post_text'], $GLOBALS['DB']), $_POST['post_id']); mysql_query($query, $GLOBALS['DB']); } } mysql_close($GLOBALS['DB']); header('Location: admin.php'); ?>

[/code]
< section > jest taki jak pokazałem w tym drugim pliku

0

Sprawdź w WYGENEROWANEJ stronie, co masz w < section >.

0

[code]
...

<section>
News 4
02-02-2011
Boże, Ojcze każdego człowieka, Tobie polecamy papieża z rodu Polaków, Jana Pawła II. Rozpoczynamy nowennę modlitwy o zasięgu narodowym, żeby wyprosić i uzyskać nowe narodzenie dla Polski, poprzez ponowną łaskę Ducha Świętego. Włączamy się w tą nowennę bardzo, bardzo licznie. Zyskujemy potężnego Orędownika i Opiekuna w Niebie. Nowenna znajduje się pod tym linkiem <a href="http://www.fjp2.com/pl/jan-pawel-ii/modlitwy/nowenna" target="_blank">www.fjp2.com/pl/jan-pawel-ii/modlitwy/nowenna</a></section> ... [/code]
0

I co mam zrobić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1