barabula
Гуру форума
- Регистрация
- 21 Май 2009
- Сообщения
- 474
- Реакции
- 80
- Автор темы
- #1
Доброе время суток, помогите новичку, если не трудно. Вообщем есть сайт по добавлению статей, я решил его модернизировать.
Вот начальная страница, с которой всё работает отлично.
А вот переписанный код, Дримвивер синтаксических ошибок не выдал, во время обработки, ошибки с указанием на строки и т.п. тоже не выскакивают. Просто пишет: Ваша статья не добавлена!
Так же возникла проблема с выводом текста из БД.
В саму БД текст идёт через админку( файлы приведён выше). Так вот я поставил для проверки защиту на доп. символы, чтобы защитить БД.
Таким образом у меня получилось что-то вроде вот такого:
И теперь у меня текст в том месте, где я поставил htmlspecialchars выводит вот так: <p>Текст</p>
Как сделать так, чтобы не выводило <p></p>
Вот начальная страница, с которой всё работает отлично.
PHP:
<?php
include("blocks/bd.php");
include("lock.php");
if (isset($_POST['title'])) {$title = $_POST['title']; if ($title=='') {unset ($title);}}
if (isset($_POST['meta_d'])) {$meta_d =$_POST['meta_d']; if ($meta_d=='') {unset($meta_d);}}
if (isset($_POST['meta_k'])) {$meta_k = $_POST['meta_k']; if ($meta_k=='') {unset($meta_k);}}
if (isset($_POST['date'])) {$date =$_POST['date']; if ($date=='') {unset($date);}}
if (isset($_POST['description'])) {$description = $_POST['description']; if ($description=='') {unset($description);}}
if (isset($_POST['text'])) {$text=$_POST['text']; if ($text=='') {unset($text);}}
if (isset($_POST['author'])) {$author = $_POST['author']; if ($author=='') {unset($author);}}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<?php include("blocks/header.php");?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<?php include("blocks/lefttd.php");?>
<td valign="top">
<?php
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author))
{
$result = mysql_query("
INSERT INTO `articles` (
`title` ,
`meta_d` ,
`meta_k` ,
`date` ,
`descriptions` ,
`text` ,
`author` )
VALUES (
'$title', '$meta_d', '$meta_k', '$date', '$description', '$text', '$author'
)");
if ($result == 'true')
{
echo "Информация занесена в базу";
}
else
{
echo"результ не есть истина";
}
}
else
{
echo "Не все поля заполнены ('$title','$meta_d','$meta_k','$date','$description','$text','$author'";
}
?>
</td>
</tr>
</table></td>
<?php include("blocks/footer.php");?>
</table>
</body>
</html>
А вот переписанный код, Дримвивер синтаксических ошибок не выдал, во время обработки, ошибки с указанием на строки и т.п. тоже не выскакивают. Просто пишет: Ваша статья не добавлена!
PHP:
<?php
include ('./lock.php');
include ('./blocks/bd.php');
if (isset($_POST['title']) && $_POST['title'] != '')
{
$title = $_POST['title'];
}
if (isset($_POST['description']) && $_POST['description'] != '') $description = $_POST['description'];
if (isset($_POST['meta_d']) && $_POST['meta_d'] != '') $meta_d = $_POST['meta_d'];
if (isset($_POST['meta_k']) && $_POST['meta_k'] != '') $meta_k = $_POST['meta_k'];
if (isset($_POST['author']) && $_POST['author'] != '') $author = $_POST['author'];
if (isset($_POST['date']) && $_POST['date'] != '') $date = $_POST['date'];
if (isset($_POST['text']) && $_POST['text'] != '') $text = $_POST['text'];
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обработчик</title>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="690" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<!--Подключаем шапку сайта-->
<?php include './blocks/header.php'; ?>
<tr>
<td><table width="690" border="0" cellspacing="0" cellpadding="0">
<tr>
<!--Подключаем левый блок сайта-->
<?php include './blocks/lefttd.php'; ?>
<td valign="top">
<?php
if (isset($title, $meta_d, $meta_k, $date, $description, $text, $author))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO articles
(`title`, `meta_d`, `meta_k`, `date`, `description`, `text`, `author`)
VALUES
('". mysql_real_escape_string($title) ."',
'". mysql_real_escape_string($meta_d) ."',
'". mysql_real_escape_string($meta_k) ."',
'". mysql_real_escape_string($date) ."',
'". mysql_real_escape_string($description) ."',
'". mysql_real_escape_string($text) ."',
'". mysql_real_escape_string($author) ."'
)"
);
if (mysql_affected_rows() > 0)
echo "<p>Ваша статья успешно добалена!</p>";
else
echo "<p>Ваша статья не добалена!</p>";
}
else
{
echo "<p>Вы ввели не всю информацию, поэтому статья не может быть добавлена в базу.</p>";
}
?>
</td>
</tr>
</table></td>
</tr>
<!--Подключаем нижний графический элемент-->
<?php include './blocks/footer.php'; ?>
</table>
</body>
</html>
В саму БД текст идёт через админку( файлы приведён выше). Так вот я поставил для проверки защиту на доп. символы, чтобы защитить БД.
Таким образом у меня получилось что-то вроде вот такого:
PHP:
<?php echo htmlspecialchars($myrow['text']); ?>
Как сделать так, чтобы не выводило <p></p>