当前位置: 首页 > 知识库问答 >
问题:

如果设置了多个提交按钮

杨成礼
2023-03-14

不知是否有人能帮助我。

我试图运行下面的代码,我正在使用带有多个提交按钮的表单。

<?php
if (isset($_POST['type']){
    if ($_POST['type'] == 'view'){
     $url = 'updatelocation.php';

    }   elseif ($_POST['type'] == 'finds'){
        $url = 'addfinds.php';

    }   elseif ($_POST['type'] == 'image'){

    header("Location: " . $url);
}
?>

我的问题是,当我运行这个,我收到以下错误:

解析错误:语法错误,在第2行的 /homepages/2/d333603417/htdocs/locationsaction.php中意外的{

我一直在阅读一些教程,例如这个,我的代码似乎与示例匹配,所以我不确定错误在哪里。

如需更多信息,我用来触发php脚本的按钮和表单如下所示:

<form name="locations" id="locations" method="post" action="locationsaction.php">   

<td><div align="center"><input name="viewdetails" type="submit" value="view"/></div>/td>
<td><div align="center"><input name="addfinds" type="submit" value="finds"/></div></td>
<td><div align="center"><input name="addimages" type="submit" value="images"/></div></td>

我只是想知道是否有人能看看这个,让我知道我哪里出错了?


共有3个答案

宇文修筠
2023-03-14

您还缺少一个右大括号:

 if (isset($_POST['type'])){ 
   if ($_POST['type'] == 'view'){ 
     $url = 'updatelocation.php'; 
   }elseif ($_POST['type'] == 'finds'){ 
     $url = 'addfinds.php'; 
   }elseif ($_POST['type'] == 'image'){ 
     $url='image.php';
   }
   header("Location: " . $url); 
 }
钱均
2023-03-14

您在isset($\u POST['type'])之后缺少-您没有关闭if语句。

司徒宇
2023-03-14

缺少右括号:

if (isset($_POST['type']) {

应该是:

if (isset($_POST['type'])) {

最后一行中还缺少一个右括号。您应该真正尝试正确地格式化和缩进代码。这将使我们更容易发现这样的错误。考虑这个例子:

<?php
if (isset($_POST['type'])) {
    if ($_POST['type'] == 'view') {
        $url = 'updatelocation.php';
    } elseif ($_POST['type'] == 'finds') {
        $url = 'addfinds.php';
    } elseif ($_POST['type'] == 'image'){
        $url = 'image.php';
    }

    header("Location: " . $url);
}

另一种查找方法是使用地图:

<?php
if (isset($_POST['type'])) {
    $urls = array(
        'view' => 'updatelocation.php',
        'finds' => 'addfinds.php',
        'image' => 'image.php'
    );
    $url = $urls[$_POST['type']];
    header("Location: " . $url);
}

很干净,对吧?添加新案例只需将其添加到数组中即可。

 类似资料:
  • 问题内容: 我有以下代码,基本上它正在执行两个操作。第一个是将我的表单数据提交到google电子表格,另一个操作是将我的第二个表单文本框值数据提交到另一个页面文本框值。这个怎么做? 从上面可以看到,这是第一页,第二页是第二种形式的Sankranthi_Reserv2.asp。我想在那儿传递文本框值,所以问题是第一种形式是提交给Google文档并存储数据,但是第二种形式需要将手机号码文本框值传递给下

  • 问题内容: 我有一个带有一个电子邮件输入和两个提交按钮的表单,用于订阅和取消订阅新闻通讯: 我也有上课表格: 我必须编写自己的clean_email方法,并且我需要知道表单是通过哪个按钮提交的。但是提交按钮的值不在字典中。否则我可以获取按钮的值吗? 问题答案: 你可以在方法中使用来在验证之前访问POST数据。它应包含一个称为或取决于所按下按钮的键。

  • 我正在尝试使用php和mysql进行在线测验/调查!我第一次使用php!我想做的是从我的数据库中获取问题和它的多项选择(测验和表格问题,其中Qid、Qtext、Ans1..Ans4作为其6列),一旦用户完成测验,就按下最后一个问题的提交按钮。。所有答案应保存在Db中(测验和表格答案,以Aid、Ans、Qid作为其列)!我搜索了相关的代码,但一个都听不懂。如果有人能帮忙,我将不胜感激。谢谢

  • 问题内容: 假设您以HTML表单创建向导。一键向后退,一键向前。当您按下时,由于 后退 按钮首先出现在标记中,它将使用该按钮提交表单。 例: 我想确定当用户按下时使用哪个按钮提交表单。这样,当您按下向导时,向导将移至下一页,而不是上一页。您是否必须使用此功能? 问题答案: 我希望这有帮助。我只是在按右边的按钮。 这样,按钮位于按钮的左侧,但在HTML结构中排在第一位: 优于其他建议的好处:没有Ja

  • 问题内容: 我有一个带有两个提交按钮和一些代码的表单: HTML: JavaScript: 当然,这两个提交按钮完成不同的事情。有没有一种方法可以找出按下了哪个按钮,所以以后我可以这样做吗? 理想情况下,我不想修改按钮的代码,而只是具有这种行为的纯JavaScript插件。 我知道Firefox具有,但是我找不到其他浏览器的任何内容。 问题答案: 不在提交事件处理程序中,不。 但是您 可以 做的是

  • 问题内容: 我有一个网站开始,我希望有2个单独的提交按钮,其中一个将获取输入的数据并对其进行一些计算以显示在同一屏幕上。我已经成功地与以下人员合作: 然后我用: 现在,我想要第二个提交按钮,该按钮仍然可以捕获他们输入的数据,然后转到另一个地址。有没有一种优雅的方法可以做到这一点? 问题答案: 您可以将方法添加到新的提交按钮,该方法将更改表单的操作,然后提交。