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

私はいくつかのチュートリアル、たとえばこれを読んでいますが、私のコードは例と一致しているように見えるので、エラーがどこにあるのかわかりません。

追加情報については、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 に答える