PHP表单 - 下拉列表 - 如何在变量

时间:2016-01-21 23:40:32

标签: php forms variables drop-down-menu

我对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>';

打印出来时只打印状态:

任何人都可以帮助我理解为什么这不起作用以及如何解决它?

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

2 个答案:

答案 0 :(得分:3)

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

  • <select name = "state">具有name属性。
  • <option value = "AL">具有价值。

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

确保它包含POST方法。

I.e。:<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"

error reporting添加到文件的顶部,这有助于查找错误。

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

// Then the rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

HTML stickler。

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

取决于您要使用的类型。

答案 1 :(得分:2)

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

请改变。