【发布时间】:2015-06-08 05:40:59
【问题描述】:
我有一个搜索表单,其操作属性包含要在 URL 中传递的 id,并且表单是从 get 方法提交的,以便用户获取要共享或添加书签的搜索结果。
现在我面临的问题是,我在操作中传递的 id 没有显示在 URL 中,但所有其他输入字段的值看起来都很好。
这是我的表格:
<form action="trails.php?pname=<?php echo $getName;?>" id="filter" method="GET" name="filter">
<select class="multiselect form-control" multiple="multiple" name='activity[]' id="activity">
<?php
$toaSql = mysql_query("select * from type_of_activity where cat_id='1'");
while ($toaRow = mysql_fetch_array($toaSql)) {
echo "<option value='" . $toaRow['typeOfActivity'] . "'><img style='width: 21px; margin-left: 5px;' src='home/images/" . $toaRow['catImg'] . "'> " . $toaRow['typeOfActivity'] . "</option>";
}
?>
</select>
<select class="multiselect form-control" multiple="multiple" name='activity[]' id="activity">
<?php
$toaSql = mysql_query("select * from type_of_activity where cat_id='2'");
while ($toaRow = mysql_fetch_array($toaSql)) {
echo "<option value='" . $toaRow['typeOfActivity'] . "'><img style='width: 21px; margin-left: 5px;' src='home/images/" . $toaRow['catImg'] . "'> " . $toaRow['typeOfActivity'] . "</option>";
}
?>
</select>
<select class="multiselect form-control" multiple="multiple" name='activity[]' id="activity">
<?php
$toaSql = mysql_query("select * from type_of_activity where cat_id='3'");
while ($toaRow = mysql_fetch_array($toaSql)) {
echo "<option value='" . $toaRow['typeOfActivity'] . "'><img style='width: 21px; margin-left: 5px;' src='home/images/" . $toaRow['catImg'] . "'> " . $toaRow['typeOfActivity'] . "</option>";
}
?>
</select>
</form>
trail.php 页面:
if(isset($_GET['pname'])){
$getName = $_GET['pname'];
// print_R($getName);
if($getName=='video'){
$queryVideo = "SELECT * FROM `contributevideo` WHERE status='active' " ;
//echo $queryVideo;
}elseif($getName=='album'){
$queryAlbum = "SELECT * FROM `contributeimage` WHERE status='active' AND category='album'" ;
}
}
Trails.php 页面根据从 url 获取的页面名称运行 sql 查询,但在 url 中找不到任何 pname 变量,因此查询没有执行。
我在哪里做错了,请指导。 谢谢
【问题讨论】:
-
为什么不在表单中使用隐藏字段?
<input type='hidden' name='pname' value='<?= $pname ?>' />并在您的 Trails.php 中使用if(isset($_POST['pname'])) -
您是如何提交此表单的?
-
我是用get方法发布表单的,那为什么要访问
$_POST['pname']的路径中的变量呢? -
@Geetika 抱歉,您应该使用
$_GET.. 但只能使用隐藏字段。不要在表单操作中传递 get 变量.. :) -
@Geetika 你的提交按钮在哪里??表单是如何提交的?