0

我想知道是否有人可以帮助我。

我正在尝试运行下面的代码,我正在使用带有多个submit buttons.

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

我遇到的问题是,当我运行它时,我收到以下错误:

Parse error: syntax error, unexpected '{' in /homepages/2/d333603417/htdocs/locationsaction.php on line 2

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

有关其他信息,我用来触发 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>

我只是想知道是否有人可以看看这个并让我知道我哪里出错了?

4

3 回答 3

3

您缺少右括号:

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);
}

这很干净——对吧?为此添加一个新案例只需将其添加到数组中即可。

于 2012-06-13T17:25:40.943 回答
3

你错过了一个)之后isset($_POST['type'])- 你没有结束if声明。

于 2012-06-13T17:25:46.810 回答
2

您还缺少一个右括号:

 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); 
 }
于 2012-06-13T17:31:55.043 回答