【问题标题】:simplest php dropdown box最简单的php下拉框
【发布时间】:2011-06-03 04:00:27
【问题描述】:

我有一个简单的下拉框,我想用 php 获取选中项的值。如果有人可以帮助我,请。

<form id="s" method="post">
<select name="size">
    <option value="small">Small</option>
    <option value="medium">Medium</option>
    <option value="large">Large</option>
</select>
<input type="submit" name="Submit" value="Send">
</form>

<?php
---
echo "selected size".$selected;
?>

【问题讨论】:

  • 您正在尝试使用服务器端语言获取客户端值...除非您发布/提交回服务器 PHP 无法读取所选值。

标签: php forms select


【解决方案1】:
<select name="rider_select"> 
 <option value="">Select Rider</option>

    <?php
     foreach ($riderlist as $rows) {
     $rname = $rows['name'];
     $rnum = $rows['number'];
     $rider_full = $rname.'-'.$rnum;
     ?>

 <option value="<?php echo $rname.'-'.$rnum; ?>"
 <?= (($rider_fromdb == $rider_full) ? 'selected="selected"' : ''); ?>>
<?php echo $rname.'-'.$rnum; ?></option>
<?php } ?>

</select>

【讨论】:

  • 请解释您的答案为何/如何解决问题。
  • 如果您正在寻找最简单的 php foreach 下拉菜单,那么我的回答会对您有所帮助
【解决方案2】:

如果你把所有东西都放在一个文件里:

  <form id="s" method="post">
   <select name="size">
   <option value="small">Small</option>
    <option value="medium">Medium</option>
    <option value="large">Large</option>
  </select> 
<input type="submit" name="Submit" value="Send">
</form>

<?php
if(isset($_POST['size'])) {
  echo "selected size: ".htmlspecialchars($_POST['size']);
}
?>

【讨论】:

  • 但是这会重新加载页面。不重新加载页面的唯一方法是使用 javascript。
  • @John - 请记住,您需要提交表单才能让这一切发生,根据@scunliffe 的评论。
  • 当然会重新加载页面。 OP 没有说不重新加载页面。
  • 这当然会在您的代码中添加一个 XSS 漏洞......即使在最简单的示例中也永远不会回显原始 POST 数据。 htmlspecialchars($_POST['size'])
猜你喜欢
  • 2020-10-29
  • 1970-01-01
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 2015-02-02
  • 2021-05-28
  • 2020-02-23
相关资源
最近更新 更多