我有以下下拉框。我希望能够从此框中选择一个值并使用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";
}
?>
当你转到这个页面时,这是index.php中的错误。
答案 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页面中得到了正确的值。谢谢你们帮助我。