登录php会话详细信息未传递到管理员页面
我有一个无法解决的问题,我已经用两个独立的服务器测试了相同的代码,即服务器A,它运行良好,而我需要这个页面存在的服务器B不工作。 我需要允许用户登录到系统,并捕获登录详细信息以留下公告 我有以下代码登录php会话详细信息未传递到管理员页面,php,sql-server,session,Php,Sql Server,Session,我有一个无法解决的问题,我已经用两个独立的服务器测试了相同的代码,即服务器A,它运行良好,而我需要这个页面存在的服务器B不工作。 我需要允许用户登录到系统,并捕获登录详细信息以留下公告 我有以下代码 <?php session_start(); ob_start(); require_once("dugsi/validation.php"); ?> Form <form method="post" id="loginForm" action="dugsi/login_va
<?php
session_start();
ob_start();
require_once("dugsi/validation.php");
?>
Form
<form method="post" id="loginForm" action="dugsi/login_validation.php">
<div>
<label for="username">User name</label>
<input id="username" name="username" type="text" autocomplete="off"/>
<span id="userInfo"></span>
</div>
<div>
<label for="password">Password</label>
<input id="password" name="password" type="password" autocomplete="off"/>
<span id="passwordInfo"></span>
</div>
<div>
<input id="send" name="send" type="submit" value="Login" />
</div>
</form>
形式
用户名
密码
验证php文件
<?php
date_default_timezone_set('Europe/London');
session_start();
ob_start();
require_once("dbconnection.php");
login_user();
function login_user()
{
global $conn;
$username = $_POST['username'];
$pass = $_POST['password'];
$password = hash('sha256', $pass);
try
{
$login_sql = "SELECT * FROM loginuser WHERE username = :username AND password = :password";
$result = $conn->prepare($login_sql);
$result->execute(array(':username'=> $username, ':password'=>$password));
$_SESSION = $result->fetch(PDO::FETCH_ASSOC);
$row_count = $result->rowCount();
if($row_count == 1)
{
if ($_SESSION['access_level'] == 1)
{
}
//student
else if ($_SESSION['access_level'] == 2)
{
$student_sql = "SELECT * FROM loginuser, student_module, module,student
WHERE loginuser.username=student.username
AND student.username=student_module.student_username
AND student_module.`module_id` = module.id
AND loginuser.username= :username";
$result_student_sql = $conn->prepare($student_sql);
$result_student_sql->execute(array(':username'=>$username));
$_SESSION = $result_student_sql->fetch(PDO::FETCH_ASSOC);
$module = $_SESSION['module_id'];
switch ($module)
{
case "ab01":
header("Location: http://madarasah.com//dugsi/module/ab01_student.php");
break;
case "ai01":
header("Location: http://madarasah.com//project/module/ai01.php");
break;
case "fa01":
header("Location: http://madarasah.com//project/module/fa01.php");
break;
case "kh01":
header("Location: http://madarasah.com//project/module/kh01.php");
break;
case "ma01":
header("Location: http://madarasah.com//project/module/ma01.php");
break;
case "ma02":
header("Location: http://madarasah.com//project/module/ma02.php");
break;
}
}
//teacher
else if ($_SESSION['access_level'] == 3)
{
$teacher_sql = "SELECT * FROM loginuser, teacher_module, module,teacher
WHERE loginuser.username=teacher.username
AND teacher.username=teacher_module.teacher_username
AND teacher_module.`module_id` = module.id
AND loginuser.username= :username";
$result_teacher_sql = $conn->prepare($teacher_sql);
$result_teacher_sql->execute(array(':username'=>$username));
$_SESSION = $result_teacher_sql->fetch(PDO::FETCH_ASSOC);
$module = $_SESSION['module_id'];
switch ($module)
{
case "ab01":
header("Location: http://madarasah.com/dugsi/module/ab01.php");
break;
case "ai01":
header("Location: http://madarasah.com/dugsi/module/ai01.php");
break;
case "fa01":
header("Location: http://madarasah.com/dugsi/module/fa01.php");
break;
case "kh01":
header("Location: http://madarasah.com/dugsi/module/kh01.php");
break;
case "ma01":
header("Location: http://madarasah.com/dugsi/module/ma01.php");
break;
case "ma02":
header("Location: http://madarasah.com/dugsi/module/ma02.php");
break;
}
}
else if ($_SESSION['access_level'] == 4)
{
$admin_sql = "SELECT * FROM loginuser, admin
WHERE loginuser.username=admin.username
AND loginuser.username= :username";
$result_admin_sql = $conn->prepare($admin_sql);
$result_admin_sql->execute(array(':username'=>$username));
$_SESSION = $result_admin_sql->fetch(PDO::FETCH_ASSOC);
header("Location:http://madarasah.com/dugsi/admin/admin.php");
exit();
}
}
else
{
echo "wrond login details";
}
$conn = null;
}
catch(PDOException $exception)
{
printf("Failed to fetch the database. Error: %s", $exception->getMessage());
}
}
ob_flush();
?>
您在普通站点和管理站点上使用的两个域是什么?tomziob.co.uk和madarasah.com,因此普通站点是madarasah.com/而管理员是madarasah.com/adminmate对不起,我可能给了您一个错误的信息。我只需要在我的服务器上使用一个域,另一个只是用来测试代码是否可以工作,但是当代码在这个服务器上运行时,它不工作。这里是admin页面:,madarasah.com/dugsi/admin/admin.php,我只需要这个会话来显示登录人的详细信息