2012-02-15 63 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 2012-02-15 17:54:54

+2

旁注:作为安全问题的昵称并不安全:我的所有朋友都可以通过“猜测”来为我的帐户申请一个新密码......第一所学校也是,即使我的亲戚也知道这一点!:D使用甚至在社会工程领域也很难猜到的东西;或更好的,根本不使用安全问题 – 2012-02-15 17:57:28

+0

这是我用来处理css和其他东西这里没有要求的id – user696734 2012-02-15 17:57:45

回答

1

你需要从数组中构建它并检查迭代值是否是所需值,因此你可以添加selected

此代码生成列表,并选择相匹配的$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> 

注意

存储安全问题,作为一个字符串是一个坏主意的<option> - 当您更改的拼写问题与存储在数据库中的内容不匹配。最好将问题放入单独的数据库表中,并使用问题的ID作为参考。

从达明Pirsy SIDENODE(重要的,足以被包含在一个答案)

昵称为安全问题是不是真的安全:我所有的朋友将能够仅仅通过申请一个新的密码我的帐户“猜测”......第一所学校也是,即使是我的亲戚也会知道这一点!:D即使在社会工程学领域,也可以使用真正难以猜测的东西;或更好,根本不使用安全问题 - Damien Pirsy

+0

非常感谢你,我明白了,我将用数据库存储所有问题,然后检索比较 – user696734 2012-02-15 18:43:56

+0

如何投票我真的不知道,请在这方面帮助我 – user696734 2012-02-16 10:00:29

+0

旁边有箭头按钮答案..请阅读本FAQ:[如何问](http://stackoverflow.com/faq#howtoask) – Kaii 2012-02-16 10:48:31