Intereting Posts
Cake не может подключиться к базе данных Как автоматически включить расширения php в Homestead на бродяжничестве Маршрутизация регулярного выражения Codeigniter Как я могу присоединиться к документам Excel с помощью PHPExcel? Xdebug не работает в MAMP Когда filter_input () удаляет слэши переменных POST? Должен ли я защищать SQL-инъекцию, если я использовал раскрывающийся список? Поиск по файлам в папке В PHP: Как вызвать переменную $ внутри одной функции, которая была определена ранее внутри другой функции? Лучший порядок результатов поиска mysql / php Различное поведение функции uasort в PHP 5.5 и PHP 7.0 Regex не возвращает никаких совпадений независимо от используемого выражения Как я могу вернуть объект array / json, содержащий объекты json, через вызов ajax php? Существуют ли общедоступные статические переменные конечного класса SOAP-запрос веб-службы работает над SOAPUI, но не работает на PHP

PHP Как сохранить выбранную опцию из раскрывающегося списка, чтобы оставаться выбранным при отправке?

У меня есть:

<select name="topic" style="margin-bottom:3px;"> <option>General Question</option> <option>Company Information</option> <option>Customer Issue</option> <option>Supplier Issue</option> <option>Request For Quote</option> <option>Other</option> </select> 

для падения. И когда форма отправлена, она переходит на страницу проверки. Если у него есть ошибки, форма сохраняет исходный контент, который пользователь вводит. Я работаю над всеми полями ввода и текстовой областью, но как я могу сделать это с раскрывающимся списком?

У меня есть поля ввода:

 $name = $_REQUEST["name"]; 

и в том виде, который появляется снова, есть (игнорируйте тот факт, что он находится в таблице):

 <tr> <td>Name:*</td> </tr> <tr> <td><input name="name" type="text" size="15" value="<?php echo $name ?>" maxlength="200" /></td> </tr> 

Итак, какие-то идеи для падений?

    Вам нужно добавить атрибут «selected» к соответствующему варианту. Я считаю, что вам также нужно указать атрибут value для каждого параметра. Я точно не знаю, как вы создаете этот список, но, возможно, это поможет:

     <?php $options = array( 1=>'General Question', 'Company Information', 'Customer Issue', 'Supplier Issue', 'Supplier Issue', 'Request For Quote', 'Other' ); $topic = $_REQUEST['topic']; // the topic name would now be $options[$topic] // other PHP etc... ?> <select name="topic" style="margin-bottom:3px;"> <?php foreach ( $options as $i=>$opt ) : ?> <option value="<?php echo $i?>" <?php echo $i == $topic ? 'selected' : ''?>><?php echo $opt ?></option> <?php endforeach; ?> </select> 

    Прежде всего, дайте элементу option атрибут value. Это делает код более надежным, потому что он не прерывается, если вы решите изменить текст опции. После этого:

     <?php $topic = $_REQUEST['topic']; ?> <?php $attr = 'selected="selected"'; ?> <select name="topic" style="margin-bottom:3px;"> <option value="1" <?php echo $topic == 1 ? $attr : ''; ?>>General Question</option> <option value="2" <?php echo $topic == 2 ? $attr : ''; ?>>Company Information</option> <option value="3" <?php echo $topic == 3 ? $attr : ''; ?>>Customer Issue</option> <option value="4" <?php echo $topic == 4 ? $attr : ''; ?>>Supplier Issue</option> <option value="5" <?php echo $topic == 5 ? $attr : ''; ?>>Request For Quote</option> <option value="6" <?php echo $topic == 6 ? $attr : ''; ?>>Other</option> </select>