首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php session有关问题

2013-06-25 
php session问题本帖最后由 u010001532 于 2013-06-08 18:00:51 编辑我想用session实现登录用户访问特定页

php session问题
本帖最后由 u010001532 于 2013-06-08 18:00:51 编辑 我想用session实现登录用户访问特定页面,未登录用户不能访问。

但是现在直接在浏览器输入page的地址可以直接访问。求指导。

//index.php


session_start();
if(Login() == true)
{
  $_SESSION['login'] = 'ok';
  //跳转到page.php
}
else
{
  echo "Login error";
}


//page.php

session_start();
echo $_SESSION['login'];

if(empty($_SESSION['login'])||$_SESSION['login']!='ok') //未登陆则跳回index
{
  ?><script>setTimeout('window.location="index.php"', 1000);</script><?
}
.....
.....
<script language="javascript">
function goBack()
{
    AjaxTest();
    window.location.href = "./index.php";
}

function AjaxTest()
    {
        xmlHttp=GetXmlHttpObject();
        if (xmlHttp==null)
        {
            alert ("Browser does not support HTTP Request");
            return;
        }
        var url = "ajax.php";
        url += "?login=out";
        xmlHttp.onreadystatechange=stateChanged 
        xmlHttp.open("GET",url,true)
        xmlHttp.send(null)
    }

    function stateChanged() 
    { 
        if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
        {
            alert(xmlHttp.responseText );
        } 
    }

    function GetXmlHttpObject()
    {
        var xmlHttp=null;
        try
        {
            // Firefox, Opera 8.0+, Safari
            xmlHttp=new XMLHttpRequest();
        }
        catch (e)
        {
            // Internet Explorer
            try
            {
                xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
            }
            catch (e)
            {
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");


            }
        }
        return xmlHttp;
    }

</script>



//ajax.php

<?
    $login = $_GET["login"];
    
    session_start();
    unset($_SESSION['login']); 
    session_destroy();

    echo "success";
?>
PHP session
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

你访问page.php页面时 输出的session有值么?
还有最后在page.php的if中跳页面后面加上exit;

登录了打印的是ok
加了exit也是一样

你已经登录了,当然可以直接访问page.php了


但是通过goBack返回到index,还是可以直接在浏览器输入page的地址直接访问

session 保存在服务器端,你已经登录过了之后,就存在这个状态,所以你可以直接访问page.php。除非你触发退出登录功能,或者干掉session。

热点排行