セッション 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 include 'http://localhost/gyjw/index.html&fun=000';?>//省略html部分
<?php if(! isset($_SESSION['ss_user_id'])) { echo "<script language='javascript'>"; echo "alert('您的用户无权进行此操作!');"; echo "top.location='login.html';"; echo "</script>"; exit; }?>
<?php include ("check.php");?>
session_start() is missing in check.php;
session_start() is missing in check.php;
うーん、誤って削除してしまいましたが、それは問題ではありません。
session_start() is missing in check.php; 生成されたセッションファイル sess_ を観察すると、 include で check.php が使用されている場合、 http://localhost が配置されている場合、 sess_ が 1 つだけ生成されることがわかりました。 /gyjw/index.html&fun=000 を含めると、2 つの sess_ が生成されますが、そのうちの 1 つはデータがありません。これは、http://localhost/gyjw/index.html&fun=000 にジャンプするときにシステムが再生成されることを意味しますか? 、つまり $_SESSION['ss_user_id'] には値がありません。どうすれば解決できますか?