2014-03-04 32 views
0

我有一个登录页面,用户必须提供他/她的凭据,然后登录到名为dashboard.php的页面。
当从其他页面返回时在PHP中使用会话

现在在此页面上完成了凭证验证。我使用$ _POST来传递变量。如果用户凭证不正确,他将被带回index.php。 否则该页面将充满来自数据库的用户数据。

现在的问题是,当用户从任何其他页面如何得到相同的凭据,以显示与用户对内容(超过的index.php等)revists dashboard.php? 我尝试使用会话变量保存在他们的凭据,但仍然无法正常工作。

我已经添加了什么,我都做了示例代码:

的index.php

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 
    <form action="dashboard.php" method="post"> 
     <input type="text" name="txt"> 
     <input type="submit"> 
    </form> 
</body> 

这前往dashboard.php是:

<?php 
    session_start(); 
    if(isset($_SESSION['LOG_IN'])!=1) 
{ 

    $xt = $_POST['txt']; 
    $_SESSION['LOG_IN']=1; 

} 

?> 

<html> 
    <head> 

    </head> 
    <body> 
     <p> HI </p> 
     <a href="3.php"><?php $xt ?>Link of 3.php</a> 

    </body> 
</html> 

现在当我去到一个叫做3.php的页面并按下后退按钮。我得到了表单重新提交页面。

+1

的想法是设置会话变量一旦用户已经登录。在'你检查dashboard.php'如果登录会话变量是'真',如果不是然后重定向到'index.php'。在注销时,销毁会话。 –

+0

你想实现的是PHP会话的基础,获取一本基本的PHP书籍或者查看手册[Session Handling](http://www.php.net/manual/en/book.session.php) – bansi

+0

在仪表板页面 – SagarPPanchal

回答

0

要让SESSION在每个页面上都能正常工作,您必须在页面顶部的每个页面上使用session_start();

然后你就可以使用print_r($_SESSION);

您应该参考PHP Session Documentation更多信息轻松地访问会话。

你应该使用session_start();在页面顶部。看到你的问题,我已经更新它。

+0

你确定OP没有这样做吗? – putvande

+0

“我试图使用会话变量保存在他们的凭据,但仍然无法正常工作。”显示用户缺少session_start(); –

+0

我已经使用session_start(); –

0

首先开始session_start();并通过它的值$_SESSION['var_name'];和其他(仪表板)页面检查$_SESSION['var_name']是否设置?

您可以检查此DEMO

相关问题