存session的代码<?php header("Content-Type:text/html;charset=utf-8"); class checkit{ function checklogin($u,$p){ session_start(); $sx=simplexml_load_file("../system/user.xml"); foreach($sx->user as $user){ $userid=$user->userid;//从xml中获取的userid $userpass=$user->userpassword;//密码 $position=$user->position;//职位 $access=$user->access_right;//权限jibie
print_r($_SESSION);
header("Content-Type:text/html;charset=utf-8");
class checkit{
function checklogin($u,$p){
session_start();
$sx=simplexml_load_file("../system/user.xml");
foreach($sx->user as $user){
$userid=$user->userid;//从xml中获取的userid
$userpass=$user->userpassword;//密码
$position=$user->position;//职位
$access=$user->access_right;//权限jibie
if($u==$userid&&$p==$userpass){
// echo $access.'--'.$position.'<br>';//1--总经理
$_SESSION['position']=$position;
$_SESSION['access_right']=$access;
$_SESSION['user']=$u;
print_r($_SESSION);
//echo "<script language='javascript'>location.href='home.php'</script>";
}
}
echo "<script language='javascript' >location.href='login.php';alert('账号或者密码错误')</script>";
取session的代码<?php
session_start();
//dump($_SESSION);
// print_r($_SESSION); echo $_SESSION['user'];
echo $_SESSION['position'];
echo $_SESSION['access_right'];
?>
但是只能取出user的值。 请指教
PHP code?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
header("Content-Type:text/html;charset=utf-8");
class checkit{
function checklogin($u,$p){
session_start();
$sx=simplexml_load_file("../system/user.xml");
foreach($sx->user as $user){
$userid=$user->userid;//从xml中获取的userid
$userpass=$user->userpassword;//密码
$position=$user->position;//职位
$access=$user->access_right;//权限jibie
if($u==$userid&&$p==$userpass){
// echo $access.'--'.$position.'<br>';//1--总经理
$_SESSION['position']=$position;
$_SESSION['access_right']=$access;
$_SESSION['user']=$u;
print_r($_SESSION);
//echo "<script language='javascript'>location.href='home.php'</script>";
}
}
echo "<script language='javascript' >location.href='login.php';alert('账号或者密码错误')</script>";
取session的代码
PHP code
?
1
2
3
4
5
6
7
8
9
10
<?php
session_start();
//dump($_SESSION);
// print_r($_SESSION);
echo $_SESSION['user'];
echo $_SESSION['position'];
echo $_SESSION['access_right'];
?>但是只能取出user的值。 请指教
echo $_SESSION['这里是session的名字'];
楼主应该懂点基础吧!!
$_SESSION['access_right']=$access;
$_SESSION['user']=$u;
print_r($_SESSION);关键你的$position,$access,$u保存session的时候,有没值?取值是根据,是否保存成功值。
$newposition = (array)$position;
现在有个问题:我在跳转后页面取出session里的值出现中文乱码,修改页面编码格式后session取出的中文正常了,但页面原来的内容出现了中文乱码。何解?
就是字符串了
你只把页面的编码改了,当然是不行的!
你的页面是 gbk 的,而 SimpleXMLElement 返回的结果是 utf-8 的,出现乱码就很正常了
$_SESSION['position'] = strval($position); //这样是 utf-8 的
$_SESSION['position'] = iconv('utf-8', 'gbk', strval($position)); //这样就是 gbk 的了编写、调试程序的原则是:尽可能的把问题缩小到一个小范围中(这样便于问题的解决)而不是让问题扩散出去
那你有没有给SESSION里面储存值。没有储存值也会获取不到了!