Чудеса с базой

C8
На сайте с 01.09.2010
Offline
4
620

Всем Привет!

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

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

Вот код:

<?php

include 'db_connect.php';
$id = stripslashes($_POST["id"]);
$page = stripslashes($_POST["page"]);
$button_name = stripslashes($_POST["button_name"]);
$title = stripslashes($_POST["title"]);
$meta_k = stripslashes($_POST["meta_k"]);
$meta_d = stripslashes($_POST["meta_d"]);
$text = stripslashes($_POST["text"]);

?>

<?php

$result = mysql_query ("UPDATE top_menu
SET
button_name = '$button_name',
page = '$page',
title = '$title',
meta_k = '$meta_k',
meta_d = '$meta_d',
text = '$text'
WHERE
id = '$id'");

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

else
{
echo '<p>Ошибка обнавления в базе!</p>';
}

?>

cleric-88 добавил 09.09.2010 в 21:44

вообщем всего пять пунктов меню первые три не обновляются а последние два обновляются, и как это понимать?

C
На сайте с 04.02.2005
Offline
291
#1

Что скажет?

echo '<p>Ошибка обнавления в базе!</p>';
$result = mysql_query ("select * from top_menu where id='$id'");
echo mysql_result($result, 0);
C8
На сайте с 01.09.2010
Offline
4
#2

Вывелось 1

InoHacker
На сайте с 18.10.2009
Offline
75
#3

Скажут, что надо чуть русский язык подучить .... а то:

Пункт меня успешно обнавлен!
Ошибка обнавления в базе!

как то не кошерно звучит 🚬

А если по теме, попробуйте сформулировать свой вопрос чуть иначе, в первом посте не все понятно, либо полностью скрипт в студию.

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
C8
На сайте с 01.09.2010
Offline
4
#4

Ну дело обстоит так, написал к трем меню управление (у всех трех аналогичное) добавить\редактировать\удалить

Для четвертой сделал все тоже самое что и с предыдущими только намного проще - можно только редактировать.

Но редактируются только 4 и 5 пункт меню а 1,2,3 - не редактируются.

Почему?

cleric-88 добавил 10.09.2010 в 00:42

А код то в принципе весь перед Вами, до него только форма, через которую редактируется выбранная из базы статья.

D5
На сайте с 01.06.2004
Offline
51
#5

Зачем вы делаете stripslashes($_POST["button_name"]); ?

Включена опция magic_quotes_gpc? Ее лучше отключить, она deprecated с php 5.3 и в php 6 будет убрана.

1. В самом SQL запросе сделайте экранирование всех параметров (может помочь исправить Вашу ошибку и заодно SQL injection :)

button_name = '$button_name' -> button_name = '".mysql_real_escape_string($button_name)."'

...

2. После этого echo '<p>Ошибка обнавления в базе!</p>';

добавьте echo mysql_error();

ps. Еще остается потенциальная уязвимость типа XSS, даже в админке не стоит расслабляться имх.

Программирование сайтов (http://lindir.ru)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий