1

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

这是我当前的 drop dwon box 代码:

版本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'];

但是我得到了以下错误,没有做任何事情:注意:未定义的索引:C:\wamp\www\iLandgrub.com V 1.2\main page\index.php 中的 select1 在第 194 行,在 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 中的错误。

4

5 回答 5

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 以以相同方式设置按钮样式。

于 2013-06-10T12:34:32.610 回答
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"> 

两种方式都可以。但是在您现有的代码中,您没有提交表单,而是将其链接到文件。

于 2013-06-10T13:03:58.227 回答
1

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

<input class="btn btn-primary" type="submit" name="button" />
于 2013-06-10T12:45:05.010 回答
0

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

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

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

于 2013-06-10T13:23:18.647 回答
0

您更新的解决方案我在我的计算机上运行此问题
选择您的岛屿 St. Maarten Aruba Curacou St. Barths

<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";
}
?>
于 2014-02-05T08:52:10.130 回答