php html页面获取session,ajax返回页面session信息(PHP)

  • Post author:
  • Post category:php


1.在尝试仿写一个登录程序。这个登录表单在首页,要求登录成功后在首页使用ajax无刷新返回用户名信息(保存的session值)以及自动隐藏表单。现在通过js的确能返回用户信息,但是只要刷新,用户信息和表单就会恢复原状了,怎么可以维持长久直到用户点击注销或session消失后?

2.我通过F12的xhr模式能看到返回的用户信息,通过jquery的append方法和remove()也确实可以实现,不过问题是刷新后信息不存在和表单恢复原状。

2.关键代码:

(1)IndexController.class.php:

public function checkUser(){

//接收值

$userName=$_POST[‘username’];

$userPass=$_POST[‘userpass’];

//空值检测->function

if(!trim($userName)){

return show(0,’用户名不能为空’);

}

if(!trim($userPass)){

return show(0,’密码不能为空’);

}

//对用户密码真实性进行检验->Model

$res=D(“Stuser”)->getUser($userName);

if(!$res[‘username’]){

return show(0,’用户名不存在’);

}

//密码处理->function

if($res[‘userpass’]!=getMd5Pass($userPass)){

return show(0,’密码不正确’);

}

//echo $res[‘username’];

//$_SESSION(‘username’,$res); //设置session

$_SESSION[‘username’]=$res;

//dump($username) ;

//var_dump($username);

return show(1,’登录成功’,$this->getSessionNames());

}

//判断session情况->index

public function getSessionNames(){

if($_SESSION[‘username’][‘username’]){

$username = $_SESSION[‘username’][‘username’];

//$a=$this->ajaxReturn($username);

//$this->assign(‘username’,$username);

return $username;

}

}请输入代码

(2)function.php

function show($status,$message,$data=array()){

$result=array(

‘status’ => $status,

‘message’ => $message,

‘data’ => $data,

);

//JSON编码数据

exit(json_encode($result));

}请输入代码

(3)login.js

var login = {

checkUser : function() {

//获取登录页面中的用户名、密码

var userName=$(‘input[name=”username”]’).val();

var userPass=$(‘input[name=”userpass”]’).val();

if(!userName) {

dialog.error(“用户名不能为空”);

}

if(!userPass) {

dialog.error(“密码不能为空”);

}

var url=”/stfjzd-12/index.php/Home/Index/checkUser”;

var data={‘username’:userName,’userpass’:userPass};

//执行异步请求

$.post(url,data,function(result){

if(result.status==0) {

return dialog.error(result.message);

}

if(result.status==1) {

if(data!=””){

//alert(data.username);

$(‘#index_form2’).remove();

$(‘#test’).append(data.username);

}

return dialog.success(result.message,”/stfjzd-12/index.php/Home/Index/checkUser”);

//alert(result.data[‘username’]) ;

}

},’JSON’);

}

}请输入代码