2016-06-03 4 views
-1

Сценарий - У меня есть форма с несколькими полями ввода и текстовыми областями, и всякий раз, когда я отправляю эту форму, все эти значения будут опубликованы. Однако у меня также есть раскрывающийся список, который я создаю из своей базы данных. Это значение выпадающего значения отображается правильно, когда я получаю значения. У меня есть вторая кнопка отправки, которая должна принять это выбранное значение и опубликовать на другой странице. Я пробовал $_POST='name of select option', но это не помогло.Выпадающее значение не выбрано при отправке формы в php

У меня есть onlick для направления формы на другую страницу для обновления db. Я довольно новичок в php, поэтому использование _POST может быть неправильным.

<form name="f1" class="formoid-solid-blue" method="GET"> 
     <div class="title"> 
      <h2></h2> 
      <h2>Tracking & Receiving</h2> 
     </div> 
     <div class="element-input"> 
      <label class="title"></label> 
      <div class="item-cont"> 
       <input class="small" type="text" name="store" placeholder="Store #"/> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
     <div class="element-input"> 
      <label class="title"></label> 
      <div class="item-cont"> 
       <input class="medium" type="text" name="userid" placeholder="UserId"/> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
     <div class="element-input"> 
      <label class="title"></label> 
      <div class="item-cont"> 
       <input class="large" type="text" name="order" placeholder="Order Number"/> 
       <span class="icon-place"></span> 
      </div> 
     </div> 
     <div class="submit"> 
      <input type="submit" name="Send" value="Send"/> 
     </div> 
     <div class="element-separator"> 
      <hr> 

      <h3 class="section-break-title">Tracking Numbers</h3> 
     </div> 
     <div class="element-multiple"> 
      <label class="title"></label> 
      <div class="item-cont"> 
       <div class="large"> 
        <select data-no-selected="Nothing selected" name="updTR" multiple="multiple"> 

         <option name="op" value="<?php require 'connection.php'; ?>"> //getting value form db 
         <?php 
           echo $trackID; //DB value 
           $trackID = $_GET['updTR']; //getting the variable from the form 

         ?></option> 
        </select> 
        <span class="icon-place"></span> 
       </div> 
      </div> 
     </div> 
     <div class="submit"> 
      <input type="submit" onclick="f1.action='UpdateTR.php'; return true;" name="UpdateTR" value`enter code here`="Submit"/> 
     </div> 
     </form> 

ответ

0

Ну, глядя на форму, вы сказали, что вы используете POST, и протестированы с другим методом POST, связанных, но ваша форма использует GET, как это видно на вашем коде выше.

Поскольку вы новичок в PHP, в качестве примера, если вы используете почту, и переменный ждут на другой странице, чтобы собрать эту информацию из формы, то вы делаете это так:

Это пример поля формы:

<input type="text" name="XYZ"> 

затем на странице, которая будет собирать эту информацию, она будет

$someVariable = $_POST[ 'XYZ' ]; 

теперь, если вы хотите использовать GET, то его то же самое, но вы используйте это

$someVariable = $_GET[ 'XYZ' ]; 

надеюсь, что это очистит путаницу.

- EDIT 2 - Ok после прочтения вашего комментария, и с тех пор я не видел, как вы итерацию через БД для опций, которые входят в этом списке/меню «опция», я хочу сказать, вы не можете поставить «соединение» в качестве значения по этой части:

<option name="op" value="<?php require 'connection.php'; ?>"> 

потому полагая, что «connection.php» подключается к БД, то это не поможет вам, что идет в другом месте. Вместо этого, после того, как вы сделали это соединение (где-то еще, желательно над ним в заголовке где-нибудь), тогда вам придется иметь код, который проходит через БД, и "WHILE" его цикл, выплевывает результаты в это поле опций. Позвольте привести пример с кодом PSEUDO.

Если нормальный выбор/код вариант выглядит следующим образом

<select> 
    <option> option 1 </option> 
    <option> option 2 </option> 
</select> 

и т.д., то вам нужно PHP, что петли через ваши результаты БД, и помещает результаты в «Параметры» в том, что выбрать,

вот некоторые псевдокод:

<select> 
    <?php 
     while($row = your fetch code here){ 
     echo "<option>your line items here</option>"; 
     } 
    ?> 
</select> 

ИЛИ .....

если "$row" имеет определенное значение, которое вы хотите использовать из базы данных, которые вы визуально хотите добавить в этот список, то вы могли бы сделать то же выше, но с чем-то вроде:

<select> 
    <?php 
     while($row = your fetch code here){ 
     echo "<option>your line items here "' . $row['some value from DB here'] . '"</option>"; 
     } 
    ?> 
</select> 

и т.д.

По существу, вы хотите, чтобы ваш «цикл while» проходил через вашу базу данных и WHILE, когда он это делал, чтобы вводить свои данные в ваши параметры html.

ТАКЖЕ, если вы хотите, чтобы определенное значение из вашей БД, помещаемое в переменную GET, использовалось для страницы обработки (как я уже упомянул выше), то, опять же, вы можете сделать что-то вроде этого:

<?php 
     while($row = your fetch code here){ 
     echo "<a href='linkHere.php?yourVariableToTrackWithGetHere='".$row['yourDBresutlToTrack']."'> Your text here </a>";  } 
    ?> 

Таким образом, при нажатии на ссылку, значение базы данных добавляется к этой переменной, вы можете позвонить позже на странице обработки.

Kinda long winded, но это должно установить вас на 100% прямо. Надеюсь, это поможет.

+0

Спасибо за объяснение. Как было предложено, я использовал метод _GET (обновленный выше). Когда я нажимаю submit, это URL-адрес, который отправляется UpdateTR.php? Store = 506 & userid = TEST & order = 999999999244 & updTR = & UpdateTR = Отправить. Как вы можете видеть, все остальные значения выбраны, кроме одного из раскрывающегося списка - updTR. Кроме того, на странице, на которую он отправляется, у меня есть следующее: $ updTR = $ _GET ['updTR'] для сбора информации. Моя проблема, что значение не выбрано, когда я отправляю форму. – Max

+0

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

Смежные вопросы