【发布时间】:2012-10-10 12:57:58
【问题描述】:
可能重复:
您好,我正在构建一个表单,用于查询 API 并过滤一些搜索结果。这些数据都没有存储在文本文件或数据库中。
表单提交自然会刷新页面,表单值默认为我在编写 HTML 时指定的原生选择选项。我希望存储用户提交的值,并在页面重新加载并加载过滤的选择后将这些值作为表单中的选定选项。实现这一目标的最佳解决方案是什么?会话,还是查询 POST 数组?
当然,我进行了几次 Google 搜索,但所有与数据库或文本文件相关的内容均不适用。
我当前的表单代码:
<form method="post" action="">
<label>Year</label>
<select class="minYear" name="minimuimYearFilter">
<?php
$vehicleYear = date("Y") + 1;
for ($i = 1993; $i <= $vehicleYear; $i++) {
echo "<option value=".$i.">".$i."</option>";
}
?>
</select>
To:
<select class="maxYear" name="maximumYearFilter">
<?php
for ($i = 1993; $i <= $vehicleYear; $i++) {
if ($i == $vehicleYear) {
echo "<option value=".$i." selected>".$i."</option>";
} else {
echo "<option value=".$i.">".$i."</option>";
}
}
?>
</select>
<label for="priceFilter">Price</label>
<select class="priceFilter" name="priceFilter">
<?php
for ($i = 1000; $i <= 50000; $i=$i+1000) {
if ($i == 50000) {
echo "<option value=".$i.">$".$i."+</option>";
} elseif ($i == 20000) {
echo "<option value=".$i." selected>$".$i."</option>";
} else {
echo "<option value=".$i.">$".$i."</option>";
}
}
?>
</select>
<label for="mileageFilter">Mileage</label>
<select class="mileageFilter" name="mileageFilter">
<?php
for ($i = 5000; $i <= 100000; $i=$i+5000) {
if ($i == 100000) {
echo "<option value=".$i.">".$i."+</option>";
} elseif ($i == 75000) {
echo "<option value=".$i." selected>".$i."</option>";
} else {
echo "<option value=".$i.">".$i."</option>";
}
}
?>
</select>
<input type="submit" value="Submit">
</form>
大家好,开个会,然后周末出城 wifi 以外的地方,周一会尽快赶上。感谢迄今为止所有的好评!迫不及待想回来试试这个。
【问题讨论】:
-
会话。当他移动到另一个页面时,POST 会丢失。但是将单独的回显值与 , not 一起使用。作为 。 while 将它们连接起来是徒劳的,只是将它们一一输出。这是一个特殊的 PHP 回显噱头。
标签: php html forms session post