>  기사  >  백엔드 개발  >  急!session问题

急!session问题

WBOY
WBOY원래의
2016-06-23 14:21:25770검색

session url php

RewriteRule ^index.html&fun=000$ gyjw/check.php重写了url
我的登陆页面
<?php	session_start();	//使用session存储用户信息	if(isset($_POST["username"]))	{		$ss_user_id="";				//利用User累的IsValid()方法判断所输入的用户名和口令是否正确		require_once("user/UserClass.php");		$user=new User();		//如果正确,转到系统首页		if($user->IsValid($_POST["username"],$_POST["password"],$ss_user_id))		{			$_SESSION["ss_user_id"]=$ss_user_id;			echo "<script language='javascript'>";			echo " location='index.html';";			echo "</script>";		}		//如果不正确,转到登陆页面		else		{			echo "<script language='javascript'>";			echo " alert('用户名或密码错误');";      		echo "</script>";		}	}?>
主页的php
<?php	include 'http://localhost/gyjw/index.html&fun=000';?>//省略html部分
check.php
<?php  	if(! isset($_SESSION['ss_user_id']))	{   		echo "<script language='javascript'>";		echo "alert('您的用户无权进行此操作!');";		echo "top.location='login.html';";		echo "</script>"; 		exit;  	}?>
问题是登陆成功跳转至主页的时候,先跳转至check.php,之直接就显示了'您的用户无权进行此操作!',说明$_SESSION['ss_user_id']不存在了。然后如果修改了主页的php
<?php	include ("check.php");?>
就存在这个$_SESSION['ss_user_id']正常显示了主页内容。
麻烦各位大侠帮助解决!

回复讨论(解决方案)

check.php 中缺少 session_start();

check.php 中缺少 session_start();
呃,不小心删掉了,但不是这个问题。

check.php 中缺少 session_start(); 通过观察生成的session文件sess_...我发现如果include里面用的是check.php,就只会生成一个sess_,如果include里面放的http://localhost/gyjw/index.html&fun=000,就会生成两个sess_,其中一个是没有数据的,这是不是说明在跳转http://localhost/gyjw/index.html&fun=000的时候系统又重新生成了一个sess_,所以$_SESSION['ss_user_id']才没有值,要怎么解决呢?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.