PHP.SU

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


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

> Описание: Как подставлять значения из массива,в форму и автоматически отправлять
Solomon
Отправлено: 28 Марта, 2018 - 21:09:38
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Март 2018  


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




Здравствуйте,возникла такая задача,имея,некий массив со значениями,подставлять их в форму,чтобы при этом форма автоматически отправлялась ,и бралось следующее значение из массива и тоже подставлялось.Подскажите,Кто-нибудь,как это можно реализовать на php и js.

(Отредактировано автором: 28 Марта, 2018 - 21:10:09)

 
 Top
Vladimir Kheifets
Отправлено: 29 Марта, 2018 - 11:23:22
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Solomon пишет:
Здравствуйте,возникла такая задача,имея,некий массив со значениями,подставлять их в форму,чтобы при этом форма автоматически отправлялась ,и бралось следующее значение из массива и тоже подставлялось.Подскажите,Кто-нибудь,как это можно реализовать на php и js.

Добрый день!
Я написал функцию ArrayToFormSubmit($FormId,$Action,$HiddenField)
PHP:
скопировать код в буфер обмена
  1. function ArrayToFormSubmit($FormId,$Action,$HiddenField){
  2. ?>
  3.     <form id="<?=$FormId?>" name="<?=$FormId?>" method="post" action="<?=$Action?>">
  4.     <?
  5.     foreach($HiddenField as $name=>$value)
  6.     {
  7.         ?>
  8.           <input type="hidden" name="<?=$name?>" value="<?=$value?>" />
  9.         <?
  10.     }
  11.     ?>
  12.     </form>
  13.     <script>
  14.     document.getElementById("<?=$FormId?>").submit();
  15.     </script>
  16.     <?
  17. }

Пример вызова:
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3. <?
  4. $FormId="test";
  5. $Action="test.php";
  6. $HiddenField=array("Field1"=>100,"Field2"=>200);
  7. ArrayToFormSubmit($FormId,$Action,$HiddenField);
  8. ?>
  9. </body>
  10. </html>


test.php
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3. <?PHP
  4. var_dump($_POST);
  5. ?>
  6. </body>
  7. </html>
  8.  

результ из test.php
PHP:
скопировать код в буфер обмена
  1. array(2) { ["Field1"]=> string(3) "100" ["Field2"]=> string(3) "200" }

Удачи!

(Отредактировано автором: 29 Марта, 2018 - 11:28:59)

 
 Top
Solomon
Отправлено: 29 Марта, 2018 - 15:17:02
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Март 2018  


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




Vladimir Kheifets пишет:
Solomon пишет:
Здравствуйте,возникла такая задача,имея,некий массив со значениями,подставлять их в форму,чтобы при этом форма автоматически отправлялась ,и бралось следующее значение из массива и тоже подставлялось.Подскажите,Кто-нибудь,как это можно реализовать на php и js.

Добрый день!
Я написал функцию ArrayToFormSubmit($FormId,$Action,$HiddenField)
PHP:
скопировать код в буфер обмена
  1. function ArrayToFormSubmit($FormId,$Action,$HiddenField){
  2. ?>
  3.     <form id="<?=$FormId?>" name="<?=$FormId?>" method="post" action="<?=$Action?>">
  4.     <?
  5.     foreach($HiddenField as $name=>$value)
  6.     {
  7.         ?>
  8.           <input type="hidden" name="<?=$name?>" value="<?=$value?>" />
  9.         <?
  10.     }
  11.     ?>
  12.     </form>
  13.     <script>
  14.     document.getElementById("<?=$FormId?>").submit();
  15.     </script>
  16.     <?
  17. }

Пример вызова:
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3. <?
  4. $FormId="test";
  5. $Action="test.php";
  6. $HiddenField=array("Field1"=>100,"Field2"=>200);
  7. ArrayToFormSubmit($FormId,$Action,$HiddenField);
  8. ?>
  9. </body>
  10. </html>


test.php
PHP:
скопировать код в буфер обмена
  1. <html>
  2. <body>
  3. <?PHP
  4. var_dump($_POST);
  5. ?>
  6. </body>
  7. </html>
  8.  

результ из test.php
PHP:
скопировать код в буфер обмена
  1. array(2) { ["Field1"]=> string(3) "100" ["Field2"]=> string(3) "200" }

Удачи!

Спасибо большое!.Но я имел ввиду,не подставлять все элементы массива сразу.Например.у меня есть массив со значениями array('fisrt' => 'Your name', 'second' => 'Last anme'); и так дальше,и мне нужно,чтобы в форму подставлялось лишь одно значение из этого массива,если форма была отправлена успешно,то следующее и тоже отправить и т.д,пока не закончатся все элементы массива.я хотел сделать так,Через каждые 10 сек обновлять страницу,это можно сделать через ajax,потом проверять сколько раз было обновление и записывать это в переменную,потом по этой цифре брать нужный элемент из массива.Только я не понимаю ,как это сделать,вот,что я имел ввиду,но за этот пример все равно спасибо!

(Отредактировано автором: 29 Марта, 2018 - 15:25:23)

 
 Top
Vladimir Kheifets
Отправлено: 30 Марта, 2018 - 11:56:59
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


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




Solomon пишет:

Спасибо большое!.Но я имел ввиду,не подставлять все элементы массива сразу.Например.у меня есть массив со значениями array('fisrt' => 'Your name', 'second' => 'Last anme'); и так дальше,и мне нужно,чтобы в форму подставлялось лишь одно значение из этого массива,если форма была отправлена успешно,то следующее и тоже отправить и т.д,пока не закончатся все элементы массива.я хотел сделать так,Через каждые 10 сек обновлять страницу,это можно сделать через ajax,потом проверять сколько раз было обновление и записывать это в переменную,потом по этой цифре брать нужный элемент из массива.Только я не понимаю ,как это сделать,вот,что я имел ввиду,но за этот пример все равно спасибо!

Добрый день!
Я видел, другую тему, которую Вы открыли про передачу значений переменных.
Вроде бы с этим Вы разобрались.
В данном случае Вам потребется завести переменную, например, indeх и передавать её через $_POST
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $index = isset($_POST['index'])?$_POST['index']:0;
  3. ................................
  4. ................................
  5. $index = $index++;
  6. ?>

p.s. смущает "если форма была отправлена успешно"... впрочем, в жизни всякое бывает...
Удачи!
 
 Top
Solomon
Отправлено: 12 Апреля, 2018 - 19:15:19
Post Id


Новичок


Покинул форум
Сообщений всего: 17
Дата рег-ции: Март 2018  


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




Vladimir Kheifets пишет:
Solomon пишет:

Спасибо большое!.Но я имел ввиду,не подставлять все элементы массива сразу.Например.у меня есть массив со значениями array('fisrt' => 'Your name', 'second' => 'Last anme'); и так дальше,и мне нужно,чтобы в форму подставлялось лишь одно значение из этого массива,если форма была отправлена успешно,то следующее и тоже отправить и т.д,пока не закончатся все элементы массива.я хотел сделать так,Через каждые 10 сек обновлять страницу,это можно сделать через ajax,потом проверять сколько раз было обновление и записывать это в переменную,потом по этой цифре брать нужный элемент из массива.Только я не понимаю ,как это сделать,вот,что я имел ввиду,но за этот пример все равно спасибо!

Добрый день!
Я видел, другую тему, которую Вы открыли про передачу значений переменных.
Вроде бы с этим Вы разобрались.
В данном случае Вам потребется завести переменную, например, indeх и передавать её через $_POST
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $index = isset($_POST['index'])?$_POST['index']:0;
  3. ................................
  4. ................................
  5. $index = $index++;
  6. ?>

p.s. смущает "если форма была отправлена успешно"... впрочем, в жизни всякое бывает...
Удачи!


Спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Объектно-ориентированное программирование »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB