【发布时间】:2010-05-15 11:13:32
【问题描述】:
当用户点击 login button(index.php) 我正在调用 chechlogin.php 我正在检查 loginId 的密码 as-
if($count==1)
{
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
$_SESSION['UserId'] = $myusername;
$_session['SessionId'] = session_id();
header("location:LoggedUser.php");
}
在 LiggedUser.php
<?php session_start(); //starting session
如果 (!isset($_SESSION['SessionId']) || $_SESSION['SessionId'] == '') { 标头(“位置:index.php”); } ?>
问题:虽然我输入了正确的用户名和密码,但它总是返回 index.php 页面。我认为 session_id() 无法正常工作或??
【问题讨论】:
-
您是否也在 index.php 和 checklogin.php 中调用
session_start()? -
是的,在第一行我在两个页面中都调用 session_start() ......这是个问题。
-
@Piyush:不,你必须这样做;)
-
PHP 中的变量名区分大小写。 $_SESSION 和 $_session 是不同的变量。
-
Plyush 请注意 Piotr 的回答,您在代码中使用的大多数行都是无用的。特别是用于将会话 ID 写入会话