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

问题描述:

我对PHP比较陌生。我正在上一堂课并在表格上工作。所以,如果你决定帮助,请记住(我是新的和学习)。 8-)PHP表单 - 下拉列表 - 如何显示变量中的选定选项

这是交易。我有一个表格。我正在为各州使用一个下拉菜单。在表单提交后,我创建了一个变量来回显。挑战是变量不打印。我不知道如何让这个工作。如果将'值'赋予变量,我想我需要什么。

我没有搜索通过谷歌的解决方案,但我不认为我使用适当的搜索条件来找到我在找什么。对于这个表单,我们还没有使用数据库。

<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> 

请更换。

+0

'id'也应该在'

+0

是啊哈哈。我看不到:) –

首先,只有<select>承载名称属性,而不是<option>,从它们全部删除它们。

  • <select name = "state">带有名称属性。
  • <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中使用此ID,则可以使用一个类。 class="state"

添加error reporting到您的文件(S)的顶部,这将有助于找到错误。

<?php 
error_reporting(E_ALL); 
ini_set('display_errors', 1); 

// Then the rest of your code 

旁注:显示错误应该只在分期完成,并且从不生产。


HTML stickler。

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

根据您要使用哪种类型。