2013-03-08 57 views
-3

假设我有一个登录页面login.php,并且如果用户登录,那么他应该重定向到userpanel.php。如何在两个页面上使用会话,以便只有经过验证的会话用户才能看到第二页,没有其他人可以看到该页面。在php查询中的会话

+4

[你有什么试过?](http://www.whathaveyoutried.com/)请参见[问问建议](http://stackoverflow.com/questions/ask-advice)。 – 2013-03-08 14:16:16

+0

我无法搜索它。我到现在为止做了什么,我已经开始在login.php上进行会话,并使用$ _session ['abc'] =来自用户名文本框 – dhruvan 2013-03-08 14:18:28

回答

0

如上所述,在您的login.php页面设置会话,在成功登录后,我们设置会话,以便脚本知道。

login.php

session_start(); 
.... 
$_SESSION['loggedin'] == TRUE; 

你应该写检查,如果用户登录的功能,为简单起见,避免重复自己在每一个文件。

userpanel.php

session_start(); 
requireLogin(); 

.. all the other stuff you want to do.. 

功能可以保持你在每个页面包含一个普通的文件,并且可以简单:

function requireLogin(){ 
    if($_SESSION['loggedin'] !== TRUE){ 
     header('Location: login.php'); 
    } 
} 

虽然你可以扩展它检查其他级别的认证;如果用户是管理员,登录,主持人等

1

你需要开始一个页面会话并设置一个变量(取决于DB或某种身份验证:

session_start(); 
... 
// if authenticated, set this variable 
$_SESSION['loggedin'] = TRUE; 

然后在第二个页面检查,如果该变量存在:

session_start() 
if ($_SESSION['loggedin'] == TRUE) { 
    // Do stuff 
} else { 
    header("Location: http://example.com/login.php"); 
    exit(); 
} 
+0

thanx bro的输入。我会试着让你知道 – dhruvan 2013-03-08 14:21:26