Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: передача через POST с заведомо неизвестными параметрами

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
zuher
Отправлено: 13 Марта, 2015 - 16:01:58
Post Id



Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2013  
Откуда: Тула


Помог: 0 раз(а)




Здравствуйте, поиск не помог. Подскажите как или ткните носом где почитать.
На просторах интернета множество тем, где можно проверить получение переменных методом GET или POST, но как быть, если значение полей заранее неизвестно.
Допустим дополнительные поля формы, которые формируются динамически, тем же java...

Например есть стандартные три поля в форме, но пользователь может добавить какие то свои, как их тогда выловить в обработчике???

Или например динамически созданный список чего либо, который надо добавить в избранное. Итд итп...


Заранее спасибо.
 
 Top
3d_killer
Отправлено: 13 Марта, 2015 - 16:04:00
Post Id



Участник


Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011  
Откуда: Ростов-на-Дону


Помог: 21 раз(а)




 
My status
 Top
Tyoma5891
Отправлено: 13 Марта, 2015 - 16:04:25
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




 
 Top
DelphinPRO
Отправлено: 13 Марта, 2015 - 22:34:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




zuher пишет:
Например есть стандартные три поля в форме, но пользователь может добавить какие то свои


что значит "свои"? он же не может от балды создать поле. Все равно вы должны запрограммировать, что может сделать юзер.
(Добавление)
zuher пишет:
Или например динамически созданный список чего либо


Списки можно передавать

CODE (html):
скопировать код в буфер обмена
  1. <input name="favorites[]">
  2. <input name="favorites[]">
  3. <input name="favorites[]">
  4. <input name="favorites[]">


В php получите массив

PHP:
скопировать код в буфер обмена
  1. $_POST['favorites'][0]
  2. $_POST['favorites'][1]
  3. $_POST['favorites'][2]
  4. $_POST['favorites'][3]


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
GoDr
Отправлено: 14 Марта, 2015 - 06:52:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




DelphinPRO пишет:
что значит "свои"? он же не может от балды создать поле.
Может, но очень глупо так делать Радость


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Zveryugaz
Отправлено: 14 Марта, 2015 - 10:59:21
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)




DelphinPRO пишет:
zuher пишет:
Например есть стандартные три поля в форме, но пользователь может добавить какие то свои


что значит "свои"? он же не может от балды создать поле. Все равно вы должны запрограммировать, что может сделать юзер.
(Добавление)
zuher пишет:
Или например динамически созданный список чего либо


Списки можно передавать

CODE (html):
скопировать код в буфер обмена
  1. <input name="favorites[]">
  2. <input name="favorites[]">
  3. <input name="favorites[]">
  4. <input name="favorites[]">


В php получите массив

PHP:
скопировать код в буфер обмена
  1. $_POST['favorites'][0]
  2. $_POST['favorites'][1]
  3. $_POST['favorites'][2]
  4. $_POST['favorites'][3]


наиболее удобный вариант, а дальше циклом обрабатывать
 
 Top
zuher
Отправлено: 14 Марта, 2015 - 12:51:02
Post Id



Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2013  
Откуда: Тула


Помог: 0 раз(а)




Всем спасибо, сейчас буду пробовать.
На самом деле ирония возможно и уместна, но с такими задачами не сталкивался ни разу ))).
Сейчас встал вопрос сделать на сайте кучу голосований (начинаются отборы на фестивали), которые надо будет создавать в автоматическом режиме, а с формами, где жёстко не прописаны переменные - не работал. Поэтому, собственно, и советуюсь

Так же хочу дать пользователям создавать свои плейлисты, но не представляю как передавать id трека - решил формировать к каждому треку кусочек java скрипта с аякс запросом.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("#idtrack7658").click(function(){
  3.                
  4.                 var id=$("#id_track").val();
  5.                 var metka=$("#metka_track").val();
  6.                         $.post("/add_in_playlist_ajax.php",{
  7.                                                                 id:id,
  8.                                                                 metka:metka,
  9.                                                                
  10.                                                                 },
  11.                         function(data){
  12.                         $("#status").html(data);
  13.                         $("#add_buttons").fadeOut(300)
  14.                         });
  15.         });
  16.  


Не уверен, что правильно. Может кто то подскажет )))
Есть сомнения, что получится это очень громоздко в итоге...
 
 Top
Zveryugaz
Отправлено: 14 Марта, 2015 - 13:36:37
Post Id



Гость


Покинул форум
Сообщений всего: 68
Дата рег-ции: Авг. 2012  


Помог: 0 раз(а)




zuher пишет:
Всем спасибо, сейчас буду пробовать.
На самом деле ирония возможно и уместна, но с такими задачами не сталкивался ни разу ))).
Сейчас встал вопрос сделать на сайте кучу голосований (начинаются отборы на фестивали), которые надо будет создавать в автоматическом режиме, а с формами, где жёстко не прописаны переменные - не работал. Поэтому, собственно, и советуюсь

Так же хочу дать пользователям создавать свои плейлисты, но не представляю как передавать id трека - решил формировать к каждому треку кусочек java скрипта с аякс запросом.
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("#idtrack7658").click(function(){
  3.                
  4.                 var id=$("#id_track").val();
  5.                 var metka=$("#metka_track").val();
  6.                         $.post("/add_in_playlist_ajax.php",{
  7.                                                                 id:id,
  8.                                                                 metka:metka,
  9.                                                                
  10.                                                                 },
  11.                         function(data){
  12.                         $("#status").html(data);
  13.                         $("#add_buttons").fadeOut(300)
  14.                         });
  15.         });
  16.  


Не уверен, что правильно. Может кто то подскажет )))
Есть сомнения, что получится это очень громоздко в итоге...


Поставьте обработчик клика, и функцию в которую будет передаваться id и она же будет отправлять данные на серв
всего одна функция на все треки
(Добавление)
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id='List'>
  3.   <button id='ID ТРЕКА 1'>ДОБАВИТЬ</button>
  4.   <button id='ID ТРЕКА 2'>ДОБАВИТЬ</button>
  5.   <button id='ID ТРЕКА 3'>ДОБАВИТЬ</button>
  6.   <button id='ID ТРЕКА 4'>ДОБАВИТЬ</button>
  7.   <button id='ID ТРЕКА 5'>ДОБАВИТЬ</button>
  8. </div>
  9.  


CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.  
  3. $('#List button').on('click', function(e){
  4.         e.preventDefault();e.stopPropagation();
  5.         var trackId = $(this).attr('id');
  6.  
  7.        тут отправку на сервер
  8. });
  9.  
  10.  
 
 Top
zuher
Отправлено: 14 Марта, 2015 - 15:32:40
Post Id



Новичок


Покинул форум
Сообщений всего: 26
Дата рег-ции: Янв. 2013  
Откуда: Тула


Помог: 0 раз(а)




Zveryugaz Огромное спасибище. В карму плюсануть не дают, регалий не хватает )))
 
 Top
DelphinPRO
Отправлено: 14 Марта, 2015 - 18:31:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




GoDr пишет:
Может, но очень глупо так делать

Как, не считая вмешательства в исходный код страницы через инспектор?


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
GoDr
Отправлено: 15 Марта, 2015 - 10:10:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




DelphinPRO пишет:
Как, не считая вмешательства в исходный код страницы через инспектор?
А разве нельзя создать динамически любое поле с любым именем? Не обязательно же плодить только
CODE (html):
скопировать код в буфер обмена
  1.     <input name="favorites[]">
  2.     <input name="favorites[]">
  3.     <input name="favorites[]">
  4.     <input name="favorites[]">

можно же и
CODE (html):
скопировать код в буфер обмена
  1.     <input name="abrakodabra">
  2.     <input name="kukaramba">
  3.  


-----
Система управления веб-содержимым Lotos CMS
 
 Top
DelphinPRO
Отправлено: 15 Марта, 2015 - 14:11:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




GoDr, блин!
Кто эту абракадабру вводит? Не пользователь же, - программист. А значит программист знает, какие поля могут прийти на сервер.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
GoDr
Отправлено: 15 Марта, 2015 - 16:58:15
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Есть кнопочка "Добавить поле". Жмём и видим форму
- введите тип Инпута (type)
- введите имя Импута (name)
- введите идентификатор (id)
- введите значение (value)
- кнопочка "добавить новое поле"

И так мы имеем новое поле о котором сервер (программист) ничего не знает.. Эта информация создана динамически на клиенте

(Отредактировано автором: 15 Марта, 2015 - 17:00:23)



-----
Система управления веб-содержимым Lotos CMS
 
 Top
Мелкий Супермодератор
Отправлено: 15 Марта, 2015 - 17:34:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




То это плохой, негодный интерфейс. И надо держать программиста, такой написавшего, как можно дальше от пользовательского интерфейса.
Homo sapiens (не путать с Homo Logicus! (А.Купер "Психбольница в руках пациентов")) не знает, не хочет, а, главное, и не должен знать HTML.


-----
PostgreSQL DBA
 
 Top
GoDr
Отправлено: 15 Марта, 2015 - 17:44:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 446
Дата рег-ции: Янв. 2015  
Откуда: Тамбов


Помог: 17 раз(а)




Мелкий пишет:
То это плохой, негодный интерфейс.
та к я не против )))))))))) просто DelphinPRO не верит что такое может быть Радость


-----
Система управления веб-содержимым Lotos CMS
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB