Вернуться   Дизайнерский форум » ВЕБ-ПРОГРАММИРОВАНИЕ » ASP, Perl, PHP и MySQL

Некорректно добавляется статья на сайт

Обсуждение темы Некорректно добавляется статья на сайт в разделе ASP, Perl, PHP и MySQL, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Привет, народ! Я столкнулся с маленькой проблемкой и не пойму что я не так сделал: вобщем у меня есть админка вот по этому ...


Закрытая тема
 
Опции темы
Старый 25.10.2008, 12:11   #1
Привет, народ! Я столкнулся с маленькой проблемкой и не пойму что я не так сделал: вобщем у меня есть админка вот по этому адресу "Админка" . При добавлении статьи в базу из админки на сайт выводится совсем не то, что нужно. Можете сами попробовать добавить статью, сайт в разработке, так что пробуйте и увидите в чем проблема.

Теперь по второму разделу "Редактировать": Все отлично, все хорошо работает,при нажатии на какой-либо урок для редактирования он выводит форму с зополнеными полями, но... заполняет их чем попало, к примеру кодом РНР, дату, которую вы ввели он переносит в краткое описание статьи. Что делать я не знаю, просмотрел весь код на несколько раз на мой взгляд все работает правильно... но ему не емется... Помогите разобраться....

Все, что от меня требуется напишите (кот страниц, дамп таблицы и т.д.).
 
Старый 25.10.2008, 12:11
Ссылки
Старый 25.10.2008, 17:41   #2
Все работает отлично. Статья добавилась корректно. Проблемы не вижу.
 
Старый 26.10.2008, 08:30   #3
Да, я знаю, я нашел ошибку но теперь у меня не редактируется добавленая статья. Можете попробовать, я не пойму в чем дело. Все правильно... Пишет типа все обновлено, но это не так, даже когда поля оставляешь пустыми обходит проверку и как ни в чем не бывало(как при заполненых полях) говорит об успешном обновлении. Что и где он обновляет я не пойму...

Последний раз редактировалось AdmBuxonly; 26.10.2008 в 08:33..
 
Старый 26.10.2008, 08:52   #4
Дайте кусок кода, отвечающий за сохранение отредактированных статей.
 
Старый 26.10.2008, 09:23   #5
Код страницы update_articles.php

PHP код:
<?php include('../../config.php'); 
// проверяем переменные на существование
if(isset($_POST['id']))             {$author $_POST['id'];}
if(isset(
$_POST['title']))            {$title $_POST['title']; if ($title == '') {unset($title);}}
if(isset(
$_POST['meta_d']))         {$meta_d $_POST['meta_d']; if ($title == '') {unset($meta_d);} }
if(isset(
$_POST['meta_k']))         {$meta_k $_POST['meta_k']; if ($title == '') {unset($meta_k);} }
if(isset(
$_POST['description']))     {$description $_POST['description']; if ($title == '') {unset($description);} }
if(isset(
$_POST['text']))             {$text $_POST['text']; if ($title == '') {unset($text);} }
if(isset(
$_POST['author']))         {$author $_POST['author']; if ($title == '') {unset($author);} }

?>

...
html
.....

<?php 

if (isset($title) && isset($meta_d) && isset($meta_k) && isset($description) && isset($text) && isset($author))
{
// вывод
$result mysql_query("UPDATE articles SET title='$title',meta_d='$meta_d',meta_k='$meta_k',description='$description',text='$text',author='$author' WHERE id='$id'");

if(
$result == 'true'){echo "<p>Статья успешно обновлена!</p>";}
else {echo 
"Стятья не обновлена!";}
}

else
{
echo 
"<p>Вы ввели не всю информацию в форме. Статья не может быть обновлена!</p>";
}


?>
 
Старый 26.10.2008, 10:11   #6
PHP код:
if(isset($_POST['id']))             {$author $_POST['id'];} 
Эт че такое? Почему переменной $author присваевается значение id?

PHP код:
if($result == 'true'){echo "<p>Статья успешно обновлена!</p>";} 
Эт че такое? Почему true - строка, а не зарезервированное слово?

Почему во всех проверках проверяется переменная $title?

Будьте внимательны.

И почитайте про SQL-инъекции.
 
Старый 27.10.2008, 04:36   #7
Ого, так меня могут взломать без проблем... я в рнр еще новичек, Вы бы не могли сказать, что нужно подучить чтоб защититься от инъекцый? В этой статье говорится как защититься от них, к примеру если программист пишет на делфи, а про рнр я не нашел... но попробую разобраться...
 
Старый 27.10.2008, 09:42   #8
Редактирование статьи заработало?


Цитата:
Сообщение от AdmBuxonly Посмотреть сообщение
Вы бы не могли сказать, что нужно подучить чтоб защититься от инъекцый?
http://yandex.ru/yandsearch?clid=145...%B8+%D0%B2+php - почитайте несколько первых ссылок.

Если говорить кратко - необходимо проверять ЛЮБЫЕ данные, которые могут придти от пользователя. Приведу пример:

У вас в коде следующая строчка:
PHP код:
$result mysql_query("UPDATE articles SET title='$title',meta_d='$meta_d',meta_k='$meta_k',description='$description',text='$text',author='$author' WHERE id='$id'"); 
Что будет, если я подставлю в поле заголовка статьи такие данные:
Код:
xxx';drop table articles;#
?

Подумайте, как проверить данные, введенные пользователем, чтобы эти данные не навердили.

Последний раз редактировалось Scroll; 27.10.2008 в 09:44..
 
Старый 27.10.2008, 09:42
Закрытая тема




Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите! Некорректно работает меню в Safari 5 и на iPad Ramilka2015 HTML, CSS, JavaScript 2 28.05.2015 17:12
Некорректно работает код. Помогите исправить! denicko HTML, CSS, JavaScript 5 20.10.2010 16:06
ИЕ некорректно отображает содержимое моего сайта maxfactor Софтодром 10 08.08.2010 21:14
В FireFox откуда-то добавляется место снизу... sanchez911 HTML, CSS, JavaScript 2 25.07.2008 18:06
Что делать (статья) Dis Кальянная 0 26.04.2003 03:00


Текущее время: 15:44. Часовой пояс GMT +4.

Реклама на форуме Условия размещения рекламы
Биржа ссылок Заработай на сайте!
Дизайнерский форум