1

我有这个代码:

function logout()
{
    $_SESSION = array(); //destroy all of the session variables
    session_destroy();
}

// defaults to welcome view unless a different view is requested
$view = empty($_GET['view']) ? 'welcome' : $_GET['view'];

switch ($view) {
    case "logout";
        logout();
        header('Location: index.php');
        break;
}

if(isset($_SESSION['valid']) && $_SESSION['valid']) {
    include 'views/main/layout.php';
}
include 'views/main/loggedin.php';

我想要发生的是:

  1. 单击注销时(注销的案例语句运行)。
  2. 会话内容被破坏。
  3. 用户被重定向到此代码页面的开头(index.php)
  4. 带有欢迎视图(因为它是默认的)
  5. 使用包含“layout.php”的包含语句,而不是在单击注销之前设置的“loggedin.php”。

所以应该以layout为模板,以welcome为主体。

但是它使用loginlayout作为模板,主体是welcome

所以要解决这个问题,我需要一种方法来以某种方式在注销 case 语句的末尾,将 php 重定向到它确定要使用哪个布局的末尾。

有人有什么建议吗?我正在考虑使用 GOTO 命令。

4

1 回答 1

1

您的案例条件应以冒号结尾,而不是分号:

 case "logout":

不是

 case "logout";
于 2012-11-15T14:34:51.870 回答