- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Такая, проблема. Хочу организовать обновления категорий на сайте. Есть таблица menu в неё id title title_url parent. Суть такая: пользователь выбирает какую категорию, стоит редактировать за это отвечает файл update_category:
Далее он передаёт параметры файлу u_c.php:
В файле u_c.php выводятся поля, в которые уже вставлены данные из таблицы. Но пользователь может их подредактировать и нажать "сохранить".
Далее этот файл отсылает данные файлу update.php:
Проблема в следующем: в полях где пользователю можно редактировать данные всё прекрасно отображается, но вот после кнопки "сохранить" вылазит сообщение о том что "Категории обновились". Но на самом же деле всё осталось по прежнему. Где моя ошибка?
Благодарю за ответ!
u_c.php?id=oh'oh
u_c.php?id=oh'oh
У меня параметры из файла в файл передаются же методом post а не get. Или как применить ваш ответ?
У меня параметры из файла в файл передаются же методом post а не get. Или как применить ваш ответ?
Какие параметры он тебе передает ? :)
print_r($_POST); //в u_c.php для начала.
а потом echo $res; //в update.php
в общем убедится что действительно id передается, потом убедится что mysql не возвращает error. дебаж запросы к mysql для верности http://www.php.su/mysql_error
если все ок то update 100% будет ;)
Я показалась ошибку в коде, потенциальную уязвимость.
Если нету понимания - то не стоит дальше заниматься этим.
Читаем книги, учим ФАК.
Какие параметры он тебе передает ? :)
print_r($_POST); //в u_c.php для начала.
а потом echo $res; //в update.php
в общем убедится что действительно id передается, потом убедится что mysql не возвращает error. дебаж запросы к mysql для верности http://www.php.su/mysql_error
если все ок то update 100% будет ;)
Сделал, выводит --- Array ( [id] => 3 ). Значит всё ОК. Ему id категории успешно передаётся.
Начало, файла стало такое:
Но, это не решает, данную проблему.
Я показалась ошибку в коде, потенциальную уязвимость.
Если нету понимания - то не стоит дальше заниматься этим.
Читаем книги, учим ФАК.
к чему это? может он для себя на localhost кодит... там ошибка привести к int переменную, 5 строк кода... хорош.
---------- Добавлено 27.06.2013 в 17:05 ----------
Но, это не решает, данную проблему.
у тебя два сценария. алгоритм такой. 1 убедится что переменная передается через ОБА сценария. 2 Сделать дебаг ошибок mysql. В твоем случае... может быть ВСЕГО две ошибки либо не передается одна из переменных в сценарий update.php. либо mysql возвращает error. Все...
даже 99.9% mysql возвращает error.
$a = "UPDATE menu SET title= '" . $_POST[title] . "', title_url= '" . $_POST[title_url] . "', parent= '" . $_POST[parent] . "' WHERE id='" . $res . "'";
куда столько пробелов ??
к чему это? может он для себя на localhost кодит... там ошибка привести к int переменную, 5 строк кода... хорош.
---------- Добавлено 27.06.2013 в 17:05 ----------
у тебя два сценария. алгоритм такой. 1 убедится что переменная передается через ОБА сценария. 2 Сделать дебаг ошибок mysql. В твоем случае... может быть ВСЕГО две ошибки либо не передается одна из переменных в сценарий update.php. либо mysql возвращает error. Все...
Как, понять - "привести к int переменную, 5 строк кода" ? Разъясните пожалуйста, как это сделать?
К тому что подобные деятели, что-то поковыряют, где-то почитают, а потом начинают услуги оказывать.
И у многих заказчиков негативное отношение к разработчикам, потому что работает все через раз.
Начиная с таких http://yandex.ru/yandsearch?lr=2&text=mysql_error+expects+parameter+1+to+be+resource+boolean+given+in
и дальше по тексту
тут не привели типы, там проверку не сделали, тут с нагрузкой не рассчитали...
Как, понять - "привести к int переменную, 5 строк кода"
ну вот тут ты тупо присваиваешь переменной значение из глобального массива.
$res = $_POST["id"];
это не правильно в плане безопасности. Ты должен четко указать php какую переменную ты ждешь... int() - привести к числовому значению, это значит что ты укажешь php что ты ждешь ТОЛЬКО число. там еще есть string() строка. ну и так далее. http://www.php.su/learnphp/vars/?types
суть в том что в эту переменную можно засунуть что угодно ну и взломать сценарий... если ты будешь четко указывать какие типы переменных ты ждешь, безопасность будет в безопасности :) а насчет 5 строк, твой сценарий маленький... да и больше на тренировочный смахивает.
---------- Добавлено 27.06.2013 в 17:16 ----------
TF-Studio, мир, одуванчики, негатив портит жизнь, писс одним словом :)
ну вот тут ты тупо присваиваешь переменной значение из глобального массива.
$res = $_POST["id"];
это не правильно в плане безопасности. Ты должен четко указать php какую переменную ты ждешь... int() - привести к числовому значению, это значит что ты укажешь php что ты ждешь ТОЛЬКО число. там еще есть string() строка. ну и так далее. http://www.php.su/learnphp/vars/?types
суть в том что в эту переменную можно засунуть что угодно ну и взломать сценарий... если ты будешь четко указывать какие типы переменных ты ждешь, безопасность будет в безопасности :) а насчет 5 строк, твой сценарий маленький... да и больше на тренировочный смахивает.
---------- Добавлено 27.06.2013 в 17:16 ----------
TF-Studio, мир, одуванчики, негатив портит жизнь, писс одним словом :)
Я так понял мне нужно
$res = (string) $_POST[id];
Я string() не нашёл)))
Да, и проверил echo mysql_error выдаёт 0. Да и переменная хорошо проходит во второй и третий файл. Сейчас что можно сделать?
---------- Добавлено 27.06.2013 в 17:39 ----------
К тому что подобные деятели, что-то поковыряют, где-то почитают, а потом начинают услуги оказывать.
И у многих заказчиков негативное отношение к разработчикам, потому что работает все через раз.
Начиная с таких http://yandex.ru/yandsearch?lr=2&text=mysql_error+expects+parameter+1+to+be+resource+boolean+given+in
и дальше по тексту
тут не привели типы, там проверку не сделали, тут с нагрузкой не рассчитали...
Если вы мне не верите, могу вам предоставить архив файлов моих разработок. И там чётко будет видно, что это не коммерческий скрипт.
Сейчас я пришёл просто в замещательство, в конечном файле сделал:
echo $res;
И пустота! Не понимаю, почему переменная не передалась в конечный файл?