2012-02-15 2 views
0

Я создал форму для создания учетной записи, которая содержит несколько полей. Это: имя, адрес, телефон, секретный вопрос и т. Д. Это прекрасно работает, но мне приходится сталкиваться с проблемой при создании страницы редактирования. Как я могу заполнить секретное поле выпадающего вопроса? Пожалуйста направьте мой HTML-код, как следующее:Как создавать выпадающие списки на php-страницах?

<select name="securityqustion" class="securityqustion" > 
<option value="<?php echo $row['scruity_question'];?>" selected > 
<?php echo $row['scruity_question'];?></option> 
<option class="option" value="what is your nickname">what is your nickname</option> 
<option value="what is your first school">what is your first school</option> 
</select> 

В приведенном выше коде повторяется выбранный вопрос.

+2

'scruity_question'? – Borealid

+2

Sidenote: псевдоним как секретный вопрос не очень безопасен: все мои друзья смогут запросить новый пароль для моей учетной записи, просто «угадав», что ... Первая школа тоже, даже мои родственники знали бы это: D Использовать то, что действительно трудно угадать, даже с социальной инженерией; или лучше, не используйте вопросы безопасности вообще –

+0

Это id, который я использовал для обработки css и других вещей, которые здесь не требуются – user696734

ответ

1

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

Этот код генерирует список и выбирает <option>, который соответствует $row['scruity_question']

<select name="securityqustion" class="securityqustion" id="security_qustion"> 
<?php 
    $questions = array("what is your nickname", "what is your first school", "whats your cats name"); 
    forand compare each ($questions as $question) { 
    if ($question == $row['scruity_question']) 
     $selected = "selected" 
    else 
     $selected = ""; 
    echo "<option value=\"{$question}\" {$selected}>{$question}</option>\n"; 
    } 
?> 
</select> 

ПРИМЕЧАНИЯ

Сохранения вопроса безопасности как строка плохой идея - при изменении орфографии вопрос не соответствует тем, что хранится в базе данных. Лучше поместите вопросы в отдельную таблицу базы данных и используйте идентификатор вопроса для ссылок.

SIDENODE от Дэмиена Pirsy (достаточно важной, чтобы включить в ответе)

прозвища как вопрос безопасности не очень безопасно: все мои друзья будут иметь возможность запросить новый пароль для учетной записи, просто «Угадай», что ... Первая школа тоже, даже мои родственники знали бы это!: D Используйте то, что действительно трудно угадать, даже с социальной инженерией; или лучше, не используйте вопросы безопасности вообще - Damien Pirsy

+0

большое вам спасибо, я получил смысл, я буду использовать базу данных для хранения всего вопроса, а затем получить для сравнения – user696734

+0

как проголосовать, я действительно не знаю, пожалуйста, помогите мне в этом отношении – user696734

+0

есть кнопки со стрелками рядом с ответ .. пожалуйста, прочтите этот FAQ: [Как спросить] (http://stackoverflow.com/faq#howtoask) – Kaii

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