首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Jquery检查OOP $_SESSION

用Jquery检查OOP $_SESSION
EN

Stack Overflow用户
提问于 2016-10-15 06:50:06
回答 1查看 39关注 0票数 0

我在学校做一个项目,我需要控制用户有权访问其中一个页面。所有的功能都需要用到Ajax。

我的问题是Ajax的回调。挣扎了几天,但似乎无法修复它。如果我跳过Ajax,它就能工作。但我需要让它与ajax一起工作。我不知道该用什么作为回调,我尝试了很多解决方案,但都没有用。

所发生的是,任何人都可以到达页面,无论是会话。

Jquery:

代码语言:javascript
复制
   <script>
   $(window).load( function checkUser() {
    $.post('calling_check_staff.php',
            function(data){
                $(). html(data); // I think the problem is here?????    
         });
    });
  </script>

calling_check_staff.php

代码语言:javascript
复制
<?php
session_start();
include ("php-classes/classUsers.php");
// Calling the class User and controlling that the visitor is logged in
 $user = new User();
    if($user->loggedIn()) {
        }
?>

PHP类

代码语言:javascript
复制
 public function loggedIn() {
    // Control, accessed page via login page.
    if(isset($_SESSION["username"]) && $_SESSION["username"] != null) {
     }  else { header("location:index.php");
            } } 
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-15 07:17:38

不能在AJAX请求中设置header。您可以做的是发送登录状态或请求状态,以响应AJAX请求。您可以使用JSON字符串返回响应,并在客户端验证响应。

如果用户登录了,就像这样发送JSON

代码语言:javascript
复制
{
    "status":1
}

如果用户没有被记录,就像这样发送JSON

代码语言:javascript
复制
{
    "status":0
}

现在,检查客户端状态的值,以确定用户是否登录。如果用户已经登录,您还可以发送HTML内容和状态字段,以便在网页上显示。刷新或重定向页面到index.php,以防从脚本获取的状态字段为0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40055956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档