PHP 表单 - 下拉列表 - 如何在变量中显示所选选项


PHP Form - Drop Down List - How To Display The Selected Option in the Variable

我对PHP比较陌生。我正在上课并处理表格。因此,如果您决定提供帮助,请记住这一点(我是新手和学习)。8-)

这是交易。我有表格。我正在使用状态的下拉菜单。我创建了一个变量,以便在提交表单后回显出来。挑战在于变量不打印。我不确定如何让它工作。我认为我需要什么,如果将"值"分配给变量。

确实通过谷歌搜索了解决方案,但我认为我没有使用适当的搜索词来查找我正在寻找的内容。对于此表单,我们尚未使用数据库。

<select>
    <option id="state" name="state" value="AL">Alabama</option>
    <option id="state" name="state" value="AK">Alaska</option>
    <option id="state" name="state" value="AZ">Arizona</option>
    <option id="state" name="state" value="AR">Arkansas</option>
    <option id="state" name="state" value="CA">California</option>
    <option id="state" name="state" value="CO">Colorado</option>
    <option id="state" name="state" value="CT">Connecticut</option>
    <option id="state" name="state" value="DE">Delaware</option>
</select>

现在变量赋值在这里:

 $state=$_POST['state'];

然后我在这里有回声:

  echo '<li>State: ' . $state . '</li>';

当它打印出来时,它只打印状态:

谁能帮助我理解为什么这不起作用以及如何解决它?

提前感谢您的帮助。如果您需要我的更多信息,请告诉我。

<select name="state">
    <option value="AL">Alabama</option>

请更改。

首先,只有<select>带有 name 属性,而不是 <option> ,从它们中删除它们。

  • <select name = "state">带有 name 属性。
  • <option value = "AL">承载着价值。

您也没有发布表单的其余部分,因此不确定这是否正确。

确保它包含 POST 方法。

即:<form action = "whatever_action_is" method = "post">...</form><select>...</select>属于表单标签。

  • whatever_action_is,这可以action=""为自身或action="handler.php",是另一个文件或您正在使用的同一文件; 这是未知的。

如果在同一文件中同时运行 HTML 和 PHP,请使用条件语句。

即:

if(isset($_POST['state'])){
   $state=$_POST['state'];
}
else{
   echo "Not set.";
}
  • 否则,您可能会收到未定义的索引通知。

  • id="state" ID 是唯一的,因此您需要为它们提供不同的 ID,或者如果您将其与 CSS 一起使用,请使用类。 class="state"

将错误报告添加到文件顶部,这将有助于查找错误

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Then the rest of your code

旁注:显示错误只能在暂存中完成,而不应在生产中完成。


HTML贴纸。

<li></li>需要<ul></ul>无序列表标签或<ol></ol>等。

  • https://developer.mozilla.org/en/docs/Web/HTML/Element/li

具体取决于您要使用的类型。