Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2016, 19:15   #1
Дима1888
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 13
По умолчанию Отправка данных на сервер при выборе пункта выпадающего списка

Добрый день, нужна ваша помощь, пытаюсь сделать следующее, при нажатии на пункт из этого списка мне необходимо обновить запись в базе данных.
PHP код:
<select name='status_1_2' size='1' onchange='this.form.submit()'>
<
option disabled selected='selected'>$status</option>
<
option value='Выполнение'>Выполнение</option>
<
option value='Выполнен'>Выполнен</option>
<
option value='Отменён'>Отменён</option>
<
option value='Отложен'>Отложен</option>
</
select
Дима1888 вне форума Ответить с цитированием
Старый 20.04.2016, 19:29   #2
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

И что именно не получается?
Andkorol вне форума Ответить с цитированием
Старый 20.04.2016, 19:32   #3
Дима1888
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
И что именно не получается?
На том, что есть завис, попробовал по другому реализовать, но теперь выбирается первое число из массива, а не все которые нужны
PHP код:
$check implode(" "$_POST['check']);    
$status $_POST['status_1_2'];
        
$query mysql_query("UPDATE orders SET status = '".$status."' WHERE id = '".$check."'"); 
Дима1888 вне форума Ответить с цитированием
Старый 20.04.2016, 19:42   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Код:
"UPDATE orders SET status = '".$status
Бобби не дремлет


https://www.google.com/search?q=sql+injection
http://www.phptherightway.com/#databases / http://getjump.me/ru-php-the-right-w...BD%D1%8B%D1%85
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.04.2016, 19:45   #5
Дима1888
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 13
По умолчанию

я знаю, что сейчас всё уязвимо, мне просто понять надо, как реализуется то, что у меня не получаетя)
Дима1888 вне форума Ответить с цитированием
Старый 20.04.2016, 20:06   #6
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Дима1888 Посмотреть сообщение
На том, что есть завис, попробовал по другому реализовать, но теперь выбирается первое число из массива, а не все которые нужны
PHP код:
$check implode(" "$_POST['check']);    
$status $_POST['status_1_2'];
$query mysql_query("UPDATE orders SET status = '".$status."' WHERE id = '".$check."'"); 
Если в $check находятся несколько ID – то нужно использовать в запросе не равенство(=), а конструкцию IN (id_1, id_2, ..., id_N).
Andkorol вне форума Ответить с цитированием
Старый 20.04.2016, 21:49   #7
Дима1888
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Если в $check находятся несколько ID – то нужно использовать в запросе не равенство(=), а конструкцию IN (id_1, id_2, ..., id_N).
спасибо, еще вопросик, не перезаписывает данные в бд, в чем ошибка?
PHP код:
$sql mysql_query("UPDATE orders SET type = '$type', ordered = '$ordered', order = '$order', ordered1 = '$ordered1', nameoforder = '$nameoforder' WHERE id = '$id'"); 
Дима1888 вне форума Ответить с цитированием
Старый 20.04.2016, 21:55   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Дима1888 Посмотреть сообщение
спасибо, еще вопросик, не перезаписывает данные в бд, в чем ошибка?
Выведи после запроса текст ошибки – да посмотри.
Скорее всего, причина в том, что названия таблицы и полей в запросе не экранированы обратными кавычками (`orders`, `type`, `id`, etc...).
Как найти ошибку в своем коде?
Andkorol вне форума Ответить с цитированием
Старый 20.04.2016, 22:03   #9
Дима1888
Пользователь
 
Регистрация: 24.01.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Andkorol Посмотреть сообщение
Выведи после запроса текст ошибки – да посмотри.
Скорее всего, причина в том, что названия таблицы и полей в запросе не экранированы обратными кавычками (`orders`, `type`, `id`, etc...).
Как найти ошибку в своем коде?
все верно, так и есть, не хватало экранов)
а ошибку ни какую не показывало, в этогм и проблема была)
Дима1888 вне форума Ответить с цитированием
Старый 20.04.2016, 22:06   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы ее и не выводили.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие при выборе из списка superpsih Microsoft Office Access 5 28.12.2015 14:34
Копирование данных из выпадающего списка _ArtemKA_ Microsoft Office Excel 5 18.01.2013 18:17
Как сделать, чтоб при выборе пункта в ListBox, для него выводилась соответсвующая картинка и статья на форме? afirat Общие вопросы Delphi 2 09.01.2013 06:17
вывод данных при выборе определенного значения из раскрывающегося списка Андрей79 PHP 4 04.03.2012 21:58
Процедура при выборе значения из выпадающего списка Sha Microsoft Office Excel 5 22.12.2009 18:08