如果php中的语句尝试冒号和大括号仍然需要帮助

时间:2016-03-04 03:29:04

标签: php

我有一个页面,我试图让我的搜索框执行操作。当搜索时我有3个站点:Google,wiki和duckduckgo。当我将页面上传到服务器时,我遇到了语法错误。我之前从未在PHP中做过if语句。我看了w3schools的教程,我仍然感到困惑。我尝试过冒号和大括号,但我仍感到困惑。

有人可以给我一个正确方向的小费吗?

<form action="search.php" method="get">

<?php
$site = substr(filter_input(INPUT_GET, 'site', FILTER_SANITIZE_STRING), 0, 8);
$terms = substr(filter_input(INPUT_GET, 'terms', FILTER_SANITIZE_STRING), 0, 25);

if ($site=="google") header('Location:https://www.google.com/#q=' . $terms); {
}else{
    if ($site=="Wikipedia")header ('Location:https://www.wikipedia.org/#q='  . $terms); {

    } else ($site=="DuckDuckGo")header ('Location:https://duckduckgo.com/#q=' .$terms);
        endif;
    }
}
?>

2 个答案:

答案 0 :(得分:1)

您使用了if else语法非常错误。如果一个陈述正确,那么要完成的任务应该在括号内。

替代

if ($site=="google") header('Location:https://www.google.com/#q=' . $terms);{
}else{
if ($site=="Wikipedia")header     ('Location:https://www.wikipedia.org/#q='  . $terms);{
} else ($site=="DuckDuckGo")header ('Location:https://duckduckgo.com/#q=' .$terms);
endif;
}

以下内容。这是正确的语法

if ($site=="google"){ 
    header('Location:https://www.google.com/#q=' .      $terms);
}elseif ($site=="Wikipedia"){
    header ('Location:https://www.wikipedia.org/#q='  . $terms);
}elseif ($site=="DuckDuckGo"){
    header ('Location:https://duckduckgo.com/#q=' .$terms);
}else{
    //if $site doesn't match any of the above
}

答案 1 :(得分:0)

试试这样。如果你在if下方有一行。然后忽略卷曲的{}大括号

        if ($site=="google")
            header('Location:https://www.google.com/#q=' . $terms); 
        else if ($site=="Wikipedia")
            header ('Location:https://www.wikipedia.org/#q='  . $terms);
        else if($site=="DuckDuckGo")
            header ('Location:https://duckduckgo.com/#q=' .$terms);
        else 
            //if your site == google not work