我有一个页面,我试图让我的搜索框执行操作。当搜索时我有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;
}
}
?>
答案 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