【问题标题】:sending a value from drop down box to another page将下拉框中的值发送到另一个页面
【发布时间】:2013-06-10 12:32:26
【问题描述】:

我有以下下拉框。我希望能够从此框中选择一个值并使用 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'];

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

【问题讨论】:

  • 您在哪个页面上收到错误消息? search.php?
  • 这些post变量应该在search.php中引用(见第一行&lt;form ... action="search.php"&gt;。你还需要在带有表单的页面上&lt;input type="submit"&gt;
  • 我在同一页面上得到错误,它不去 search.php
  • 你能告诉我们你的目录结构吗?
  • 很简单,有一个索引,您必须在其中选择您的岛屿和位置。然后需要将它们发送到另一个页面 search.php,您可以在其中使用它们。在我的 index.php 上,我只有这些,因为主要来自 search.php 。这就是我在 search.php 上的内容: 这个在其他时候有效。如果我得到一个错误。

标签: php html


【解决方案1】:

那是因为您使用的是锚元素。改变

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

【讨论】:

  • @S.N,根据您的评论,您使用的是 $_GET,即使在您提供给我们的代码中使用的是 $_POST。如果您需要帮助,请发布正确的内容并提供“我仍然收到错误”以外的内容。将 $_GET 更改为 $_POST。
【解决方案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"> 

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

    • 这是我的新输入而不是元素。 还是有错误。跨度>
    • 不要使用 $_GET 尝试使用带有选择字段的 $_POST
    • 我现在收到此错误:注意:未定义索引:select1,对于 select2 也是如此
    • 我认为您在刷新页面时遇到了错误。使用 isset($_POST['button']){ 在此处为字段编写 php 代码}
    • @Shahba 我的 index.php 上已经出现错误,没有做任何事情。
    【解决方案4】:

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

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

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

    【讨论】:

      【解决方案5】:

      你更新的解决方案我在我的电脑上运行这个问题
      选择您的岛屿 圣马丁 阿鲁巴岛 库拉库 圣巴特斯

      <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";
      }
      ?>
      

      【讨论】:

        猜你喜欢
        • 2020-07-11
        • 2015-09-09
        • 1970-01-01
        • 2018-03-19
        • 1970-01-01
        • 1970-01-01
        • 2014-06-03
        • 2019-05-09
        • 1970-01-01
        相关资源
        最近更新 更多