我正在PHP中構建應用程序,我試圖從單個index.php文件處理路由和用戶管理(使用會話和cookie)。在單個PHP文件中使用多個switch語句
下一塊代碼是我設置的基本路由邏輯。
$request_uri = explode('?', $_SERVER['REQUEST_URI'], 2);
switch ($request_uri[0]) {
// Home page
case '/':
require 'partial/_main.php';
break;
// About page
case '/about':
// do logic
break;
// Everything else
default:
header('HTTP/1.0 404 Not Found');
echo "<h1>Not Found</h1>";
break;
}
我也想控制未登錄或登錄的用戶可以看到網站的其他部分。
例如:
$status = $_COOKIE['uid'];
switch ($status) {
case $status === '':
// Not logged in
// echo "Not logged in";
break;
default:
echo "Hello there, ".$status;
require 'partial/_user-actions.php';
break;
}
現在的問題是我無法檢查$_COOKIE['uid']
當它沒有設置。我收到一個「未定義的變量」錯誤。
首先運行if(isset($ _ COOKIE ['uid'])),然後將其分配給$ status –
@DhavalChheda做到了。現在,我的switch語句中的情況變得多餘。 –