将值从下拉框发送到另一个页面

时间:2013-06-10 12:32:27

标签: php html

我有以下下拉框。我希望能够从此框中选择一个值并使用Php将其发送到另一个页面。

这是我目前的drop dwon框代码:

版本2:

<form style="margin-top:20px; margin-right:+50px" name="formname" method="post" action="search.php">
<div class="controls controls-row">
<select name="select1" id="select1"> 
<option value="SelectIsland">Select your island</option>
<option value="stMaarten">St. Maarten</option>
<option value="Aruba">Aruba</option>
<option value="Curacou">Curacou</option>
<option value="StBarths">St. Barths</option>
</select>   

<select name="select2"> 
<option value="SelectLoc">Select your location</option>
<option value="Philipsburg">Philipsburg</option>
<option value="SimpsonBay">Simpson Bay</option>
<option value="Maho">Maho</option>
<option value="Cupecoy">Cupecoy</option>
<option value="Middleregion">Middle region</option>
<option value="MadameEstate">Madame Estate</option>
<option value="StPeters">St. Peters</option>
<option value="DawnBeach">Dawn Beach</option>
</select>
<input type="submit" name="button" class="btn btn-primary" value="Find Restaurant" style="margin-top:-10px; margin-right:0px" />
</div>
<?php 
$select1 = $_POST['select1'];
?>
</form>

我试图将$ select1传递给search.php,使用:$ select1 = $ _POST ['select1'];

然而,我得到以下错误,没有做任何事情:  注意:未定义的索引:在第194行的C:\ wamp \ www \ iLandgrub.com V 1.2 \ main page \ index.php中的select1,在y index.php上。

如果我删除$ select1 = $ _POST ['select1'];然后它会起作用但是在search.php上我没有得到我想要的值。

这是我在search.php中的代码:

同样适用于select2。我已经在我的index.php中没有做任何我得到错误未定义的索引。

<?php
if(isset($_POST['select1']) && isset($_POST['select2'])) {
$select1 = $_GET['select1'];
$select2 = $_GET['select2'];
echo $select1;
echo "";
echo $select2;
}
else{
echo "not set";
}
?> 

enter image description here 当你转到这个页面时,这是index.php中的错误。

5 个答案:

答案 0 :(得分:3)

那是因为你正在使用一个锚元素。变化

<a href="search.php" class="btn btn-primary" style="margin-top:-10px; margin-right:0px"type="button" name="button">Find Restaurant</a>

<input type="submit" class="btn btn-primary" value="Find Restaurant" />

这会将表单数据发布到search.php - 如果您希望页面提交给自己,请将action="search.php"更改为action=""

注意:您需要更改CSS以按相同方式设置按钮的样式。

答案 1 :(得分:2)

这是错误

<a href="search.php" class="btn btn-primary" style="margin-top:-10px; margin-right:0px"type="button" name="button">Find Restaurant</a>

使用提交按钮代替。

<input type="submit" class="btn btn-primary" value="Find Restaurant" />

如果你想使用标签,那就这样做。

 <a href="Javascript:void(0)" class="btn btn-primary" style="margin-top:-10px; margin-right:0px"type="button" name="button" onclick="document.formname.submit();">Find Restaurant</a>

为表单标记命名

<form style="margin-top:20px; margin-right:+50px" name="formname" method="post" action="search.php"> 

你可以这样做。但是在您现有的代码中,您没有提交表单,而只是将其链接到文件。

答案 2 :(得分:1)

在使用操作时从按钮中删除锚标记,你必须做这样的事情

<input class="btn btn-primary" type="submit" name="button" />

答案 3 :(得分:1)

您的更新解决方案我在计算机上运行此问题
               选择你的岛屿     圣马丁岛     阿鲁巴     Curacou     圣巴斯        

<select name="select2"> 
<option value="SelectLoc">Select your location</option>
<option value="Philipsburg">Philipsburg</option>
<option value="SimpsonBay">Simpson Bay</option>
<option value="Maho">Maho</option>
<option value="Cupecoy">Cupecoy</option>
<option value="Middleregion">Middle region</option>
<option value="MadameEstate">Madame Estate</option>
<option value="StPeters">St. Peters</option>
<option value="DawnBeach">Dawn Beach</option>
</select>
<!--<input type="submit" name="button" value="search"  />
-->

<?php
if(isset($_POST['select1']) && isset($_POST['select2'])) {
$select1 = $_POST['select1'];
$select2 = $_POST['select2'];
echo $select1;
echo "";
echo $select2;
}
else{
echo "not set";
}
?>

答案 4 :(得分:0)

我解决了。仅使用$ _POST购买,而不是$ _get,我也删除了

<?php 
$select1 = $_POST['select1'];
?>

现在错误 - 未定义的索引 - 不再显示,我在search.php页面中得到了正确的值。谢谢你们帮助我。