【问题标题】:Getting option name php获取选项名称php
【发布时间】:2012-12-13 08:09:56
【问题描述】:

我是 PHP 新手,所以请耐心等待。我有一些这样的代码-

echo ('<select name="fullname">');
while($row = mysql_fetch_array($dorequest)) {
  echo ('<option name="' . $row['ID'] . '">' . $row['firstname'] . " " . $row['lastname'] .  '</option>'); 
}
echo('</select>');

效果很好。当我提交表单时,我想获取所选选项的 ID( $row['ID'] )。我只能获取选择框的内容。任何想法我可以如何做到这一点?

【问题讨论】:

  • 您的输出没有转义。仔细检查是否需要 htmlspecialchars() - 每当您想将不包含任何 HTML 的纯文本写入 HTML 时都会出现这种情况。希望您还逃脱了 SQL 查询数据...
  • @Sven 我不确定你的意思。你有一个好的教程的链接吗?

标签: php html mysql forms


【解决方案1】:

使用value 属性而不是name

echo ('<option name="' . $row['ID'] . '">' . $row['firstname'] ...
                ^-------HERE, use "value" instead of "name"

由于发送变量的名称已在您的选择 &lt;select name="fullname"&gt; 中设置,您需要在 &lt;option&gt; 中指定的是您要发送的 value

【讨论】:

    【解决方案2】:

    你应该使用:

    echo ('<option value="' . $row['ID'] . '">' . $row['firstname'] . " " . $row['lastname'] .  '</option>');
    

    请注意,我将 name 更改为 value。选项有值,而不是名称。输入名称由select 中的属性确定。

    【讨论】:

      【解决方案3】:

      如果您在选择表单中使用帖子,那么在 while 循环期间您可以添加

      $ShowID = $rows['ID'];

      然后在发布功能期间的查询中,您可以在查询中使用$ShowID 或使用echo $ShowID; 回显它

      【讨论】:

        猜你喜欢
        • 2013-09-12
        • 2017-07-27
        • 1970-01-01
        • 2013-04-05
        • 1970-01-01
        • 2020-03-15
        • 1970-01-01
        • 2020-02-29
        • 1970-01-01
        相关资源
        最近更新 更多