嘿伙计们,我在 if else if 和 $_GET 方面遇到了问题。我试图在页面上包含基于 GET 的页面。 导航代码
<a href="index.php?page=setting">Setting</a>
<a href="index.php?page=post">Post Article</a>
PHP 代码
<?
if($_GET['page']=='post' && $_SESSION['status'] > 0 || $_GET['page']=='setting' && $_SESSION['status'] > 0)
{
include "page/post.php";
}else if{
include "page/setting.php";
}else{
include "page/home.php";
?>
如何解决这个问题?
最佳答案
更正 else if 的语法
else if
需要用括号括起来。
例如else if ($test == TRUE)
更正的代码:
if($_GET['page']=='post' && $_SESSION['status'] > 0) {
include "page/post.php";
}
else if ($_GET['page']=='setting' && $_SESSION['status'] > 0) {
include "page/setting.php";
}
else {
include "page/home.php";
}
?>
更优化的代码:
if ($_SESSION['status'] > 0) {
$pages = array();
$pages['post'] = 'post';
$pages['setting'] = 'setting';
// You can add more pages, by adding entries in this array.
//e.g. $pages['about'] = 'about';
if (isset($_GET['page']) && isset($pages[$_GET['page']])) {
$page = $pages[$_GET['page']];
include "page/" . $page . ".php";
}
}
else {
include "page/home.php";
}
关于php - if else if 语句不适用于 get,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31692647/