главная страница каталог файлов полезные статьи документация форум лицензионное соглашение
FAQ Поиск Пользователи Группы Регистрация Профиль Войти и проверить личные сообщения Вход
Список форумов Natali-Team » PHP-программирование » не могу сделать добавление статей через админку
  « Предыдущая тема | Следующая тема »
 
Начать новую тему Ответить на тему
не могу сделать добавление статей через админку
Late-maestro Сообщение Ср Фев 03, 2010 6:28 pm


новичок

новичок

Регистрация: 25.11.2009
Сообщения: 8
Откуда: киев Посмотреть профиль Отправить личное сообщение
Сообщение Вот еще один вопрос, который заставляет меня нервничать уже несколько дней.

пытаюсь добавить через админку статьи себе на сайт, пишет статья добавлена, но она не появляется в таблице!

пожалуйста, посмотрите, когда у вас будет время, может быть вы увидите ошибку dash


код new_lesson.php

Код:

<? include ("blocks/bd.php"); ?>
<!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="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" class="main_border">
<!--Подключаем шапку сайта-->
<? include("blocks/header5.php");   ?>
  <tr>
    <td><table  width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
<!--Подключаем левый блок сайта-->
<? include ("blocks/lefttd3.php");  ?>     
        <td valign="top">
      <h3 align="center">Добавление новой статьи</h3>
      <div style="margin-left:65px;"   >
     
     <form name="form1" method="post" action="add_lesson.php">
         <p>
           <label>Введите название статьи<br>
             <input type="text" name="title" id="title">
             </label>
         </p>
         <p>
           <label>Введите meta_d статьи<br>
           <input type="text" name="meta_d" id="meta_d">
           </label>
         </p>
         <p>
           <label>Введите meta_k для статьи<br>
           <input type="text" name="meta_k" id="meta_k">
           </label>
         </p>
      
         <p>
           <label>Введите дату добавления статьи<br>
           <input name="date" type="text" id="date" value="<?php $date = date("Y-m-d"); echo $date; ?>">
           </label>
         </p>
         <p>
           <label>Ведите краткое описание статьи с тэгами абзацев<br>
           <textarea name="description" id="description" cols="40" rows="5"></textarea>
           </label>
         </p>
              <p>
           <label>Введите полный текст статьи с тэгами<br>
           <textarea name="text" id="text" cols="40" rows="20"></textarea>
           </label>
         </p>
         <p>
           <label>Введите автора статьи<br>
           <input type="text" name="author" id="author">
           </label>
         </p>
        <p>
           <label>Ведите tegi статьи с тэгами абзацев<br>
           <textarea name="tegi" id="tegi" cols="40" rows="5"></textarea>
           </label>
         </p>
        <p>
           <label>Введите kluch статьи<br>
           <input type="text" name="kluch" id="kluch">
           </label>
         </p>
        <p>
           <label>Введите mini_img статьи<br>
           <input type="text" name="mini_img" id="mini_img">
           </label>
         </p>
        <p>
           <label>Введите alt картинки статьи<br>
           <input type="text" name="alt" id="alt">
           </label>
         </p>
        <p>
           <label>Введите titleimg картинки статьи<br>
           <input type="text" name="titleimg" id="titleimg">
           </label>
         </p>
         <p>
           <label>Выберите категорию заметки<br>
           <select name="cat">
             <? $result = mysql_query("SELECT title,id FROM categories",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору admin@t.com.ua <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0)
{
$myrow = mysql_fetch_array($result);
do
{
printf ("<option value='%s'>%s</option>",$myrow["id"],$myrow["title"]);

}
while ($myrow = mysql_fetch_array($result));

}
else
{
echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
exit();
} ?>
           </select>
           </label>
         </p>
         <p>
           <label>
           <input type="submit" name="submit" id="submit" value="Занести статью в базу">
           </label>
         </p>
       </form>
        </div>     </td>
      </tr>
    </table></td>
  </tr>
</table>
</body>
</html>









код add_lesson.php



Код:

<?php include ("blocks/bd.php");
if (isset($_POST['title']))       
{
$title = $_POST['title'];
if ($title == '')
{
unset($title);

}
/* Если существует в глобальном массиве $_POST['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);}}
if (isset($_POST['tegi']))        {$tegi = $_POST['tegi']; if ($tegi == '') {unset($tegi);}}
if (isset($_POST['kluch']))      {$kluch = $_POST['kluch']; if ($kluch == '') {unset($kluch);}}
if (isset($_POST['mini_img']))      {$mini_img = $_POST['mini_img']; if ($mini_img == '') {unset($mini_img);}}
if (isset($_POST['alt']))      {$alt = $_POST['alt']; if ($alt == '') {unset($alt);}}
if (isset($_POST['titleimg']))      {$titleimg = $_POST['titleimg']; if ($titleimg == '') {unset($titleimg);}}
if (isset($_POST['cat']))      {$cat = $_POST['cat']; if ($cat == '') {unset($cat);}}
?>
<!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">
<!--Подключаем шапку сайта-->
<? include("blocks/header5.php");   ?>
  <tr>
    <td><table width="690" border="0" cellspacing="0" cellpadding="0">
      <tr>
<!--Подключаем левый блок сайта-->
<? include ("blocks/lefttd3.php");  ?>     
        <td valign="top">
         <?php
if (isset($title) && isset($meta_d) && isset($meta_k) && isset($date) && isset($description) && isset($text) && isset($author) && isset($tegi) && isset($kluch) && isset($mini_img) && isset($alt) && isset($titleimg) && isset($cat))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `articles` (`title`,`meta_d`,`meta_k`,`date`,`description`,`text`,`author`,`tegi`,`kluch`,`mini_img`,`alt`,`titleimg`,`cat`) VALUES ('$title', '$meta_d','$meta_k','$date','$description','$text','$author','$tegi','$kluch','$mini_img','$alt','$titleimg','$cat')") or die('ошибка в запросе к базе данных: ' . mysql_error());
if ($result == 'true') {echo "<p>Ваша статья успешно добавлена!</p>";}
else {echo "<p>Ваша статья не добавлена!</p>";}
}      
else
{
echo "<p>Вы ввели не всю информацию, поэтому статья в базу не может быть добавлена.</p>";
}?></td>
      </tr>
    </table></td>
  </tr>

</table>
</body>
</html>




Последний раз редактировалось: Late-maestro (Чт Фев 04, 2010 6:45 pm), всего редактировалось 2 раз(а)
Old_Chroft Сообщение Чт Фев 04, 2010 2:32 pm


администратор

администратор

Регистрация: 05.01.2008
Сообщения: 12
Откуда: Приволжский ФО Посмотреть профиль Отправить личное сообщение
Сообщение Скорее всего при добавлении статьи происходит ошибка в запросе. Причины (на вскидку) модут быть следующие:
Слишком большая заметка
В статье присутствуют символы " или ', что приводит к ошибке запроса. Эта причина наиболее вероятна.
Всего скрипта я не видел и не знаю о какой CMS идет речь, но по приведенному здесь коду вижу, что никакой защиты от введенных некорректных данных нет. Итак, пробуем - заменяем

Код:

/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `articles` (`title`,`meta_d`,`meta_k`,`date`,`description`,`text`,`author`,`tegi`,`kluch`,`mini_img`,`alt`,`titleimg`,`cat`) VALUES ('$title', '$meta_d','$meta_k','$date','$description','$text','$author','$tegi','$kluch','$mini_img','$alt','$titleimg','$cat')");

на

Код:

/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `articles` (`title`,`meta_d`,`meta_k`,`date`,`description`,`text`,`author`,`tegi`,`kluch`,`mini_img`,`alt`,`titleimg`,`cat`) VALUES ('$title', '$meta_d','$meta_k','$date','$description','$text','$author','$tegi','$kluch','$mini_img','$alt','$titleimg','$cat')") or die('ошибка в запросе к базе данных: ' . mysql_error());

После этого пробуйте добавить статью. Если я был прав, то будет выведено сообщение об ошибке и сам текст этой ошибки.
_________________
Всю жизнь как в японском мультике... все вижу - но ничего не понимаю.
Late-maestro Сообщение Чт Фев 04, 2010 2:37 pm


новичок

новичок

Регистрация: 25.11.2009
Сообщения: 8
Откуда: киев Посмотреть профиль Отправить личное сообщение
Сообщение Здравствуйте! Очень рада, что Вы отозвались!

Сделала как вы говорили, но ничего не происходит. Все также: "Ваша статья добавлена".

это может быть из-за того, что переменные идут в разброс, а не как в БД?

или из-за того, что у меня есть в таблице в БД некоторые графы с типом int, которые не вошли в форму обработчика?
Old_Chroft Сообщение Чт Фев 04, 2010 3:04 pm


администратор

администратор

Регистрация: 05.01.2008
Сообщения: 12
Откуда: Приволжский ФО Посмотреть профиль Отправить личное сообщение
Сообщение

Цитата: Late-maestro

или из-за того, что у меня есть в таблице в БД некоторые графы с типом int, которые не вошли в форму обработчика?
Нет, вряд ли причина в этом.

Цитата: Late-maestro

но ничего не происходит. Все также: "Ваша статья добавлена".

В приведенном Вами коде этих строк нигде нет - я не могу знать в каком участке кода это происходит good
_________________
Всю жизнь как в японском мультике... все вижу - но ничего не понимаю.
Late-maestro Сообщение Чт Фев 04, 2010 6:46 pm


новичок

новичок

Регистрация: 25.11.2009
Сообщения: 8
Откуда: киев Посмотреть профиль Отправить личное сообщение
Сообщение вот здесь есть эти слова

Код:

/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO `articles` (`title`,`meta_d`,`meta_k`,`date`,`description`,`text`,`author`,`tegi`,`kluch`,`mini_img`,`alt`,`titleimg`,`cat`) VALUES ('$title', '$meta_d','$meta_k','$date','$description','$text','$author','$tegi','$kluch','$mini_img','$alt','$titleimg','$cat')") or die('ошибка в запросе к базе данных: ' . mysql_error());
if ($result == 'true') {echo "<p>Ваша статья успешно добавлена!</p>";}
else {echo "<p>Ваша статья не добавлена!</p>";}
}       
else
{
echo "<p>Вы ввели не всю информацию, поэтому статья в базу не может быть добавлена.</p>";



Цитата:
Всего скрипта я не видел и не знаю о какой CMS идет речь


эти не cms. сайт написан на php + mysql
Показать сообщения:   
Список форумов Natali-Team » PHP-программирование
  Часовой пояс: GMT + 3
 
Страница 1 из 1  
Перейти:  
 
 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах