我对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
具体取决于您要使用的类型。