我在學習PHP,我正在開發一個帶有身份驗證的非常簡單的網站。由於我認爲自己沒有足夠的優勢來建立一個安全的身份驗證系統(並且無論如何我沒有那麼多時間),所以我搜索並發現了這個腳本http://php-login.net/,它似乎很完美。 我使用的腳本的「2-高級」版本,並在index.php文件中有這樣的事情:PHP登錄:顯示登錄用戶和未登錄用戶之間不同內容的最佳方式
<?php
// load php-login components
require_once("php-login.php");
// create a login object. when this object is created, it will do all login/logout stuff automatically
// so this single line handles the entire login process.
$login = new Login();
// ... ask if we are logged in here:
if ($login->isUserLoggedIn() == true) {
include("views/logged_in.php");
} else {
include("views/not_logged_in.php");
}
因此,如果用戶在登錄它顯示logged_in.php的內容或not_logged_in.php(如果他不是)(在視圖目錄中有一個阻止直接訪問視圖的.htaccess)。其他頁面也以這種方式工作(例如,根目錄中的registration.php包含其中包含內容的文件views/registration.php)。
因此,這裏是我的問題:是不是更方便做這樣或那樣(至少在指數)做只是一個查看和控制單個元素像這樣的東西
if ($login->isUserLoggedIn() == true) { echo "you are logged in"
} else {echo "login form" }
的每一個元素,其中需要嗎? 我認爲對於客戶端來說基本上是一樣的,但在服務器端我不知道,因爲我是初學者,所以我想問。 我很抱歉我的英語,但我希望你能理解。
P.S .:我不明白我是否可以對SO做出「最好的方式」問題,如果我做不到,我下次不會。
感謝您的回答。 我認爲你說的基本上和使用該函數相同,因爲在「login」類中,'isUserLoggedIn()'函數使用一個帶有$ _SESSION ['logged_in']標誌的php會話。我更喜歡使用這個類,因爲對我來說更容易,而且它還做了很多其他的事情,比如密碼哈希,數據庫連接和記憶我的cookie本身。 我想我會使用include()版本,因爲它讓事情更「乾淨」和有組織。 –