我在学习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()版本,因为它让事情更“干净”和有组织。 –