当前位置: 首页 > 面试题库 >

PHP和AJAX中的Cookies问题

蔚承天
2023-03-14
问题内容

我在脚本中遇到一些问题,该问题使用PHP和jquery创建登录系统。

首先,我有PHP页面包含用于登录的表格。当用户单击提交时,我使用jQuery将数据发送到服务器

$.post('server_login.php', {username:username.val(), password:password.val()}, function(data){
    alert(data);
});

在server_login.php中,我具有执行登录用户的功能

if($_POST['username']=='username' && $_POST['password']=='1234'){
    $expire = time() + 60*60*24*30; //1 month expired.
    setcookie("user_id", $_POST['username'], $expire);
    echo true;
}

和jquery警报“ 1”在我的登录页面上。

问题是当我刷新我的网站并重新放置cookie时,它没有显示给我。

print_r($_COOKIE);

哪里不对了?


问题答案:

如果您正在调用的脚本位于服务器上的另一个文件夹中(或通过url重写,它看起来好像位于另一个路径下),请确保设置cookie的path参数。

默认情况下,setcookie()仅为当前路径设置cookie。

如果您的页面是www.domain.com且您进行了ajax调用,www.domain.com/auth/login.php则cookie将被设置为,/auth并且将无法在外部使用/auth

因此,尝试更改为:

setcookie("user_id", $_POST['username'], $expire, '/');


 类似资料:
  • 问题内容: 我正在尝试通过cUrl自动获取我的Amazon Associates统计信息。但是我跌倒了第一关。在登录。 当我使用以下代码时: 我得到以下输出: HTTP / 1.1 200 OK日期:2011年9月22日星期四22:08:39 GMT服务器:服务器x-amz- id-1:1NNZMSS8X73EE0G7HKW8 x-amz-id-2:HRW1ZoN4KVzDCp / tS5E7l

  • 问题内容: 我知道以前已经以各种形式询问过这个问题,但是我似乎无法解决这个问题。我尝试使用jQuery和本机JS API发出Ajax请求。 我的情况如下(参见附图): 浏览器发出HTTP请求 服务器响应并设置持久性Cookie 浏览器发出HTTP Ajax请求,Cookie在那里 服务器响应预期,更新Cookie 浏览器发出HTTPS Ajax请求,Cookie不再存在(?!) 由于没有Cooki

  • 问题内容: PHP中的 Session 和 Cookies 之间有什么区别? 问题答案: Cookie是浏览器存储的一点数据,并随每个请求发送到服务器。 会话是存储在服务器上并与给定用户相关联的数据的集合(通常通过包含ID码的Cookie)

  • Sessions 和 cookies 允许数据在多次请求中保持, 在纯 PHP 中,可以分别使用全局变量 $_SESSION 和 $_COOKIE 来访问,Yii 将 session 和 cookie 封装成对象并增加一些功能, 可通过面向对象方式访问它们。 Sessions 和 请求 和 响应类似, 默认可通过为 yii\web\Session 实例的 session 应用组件 来访问 sess

  • 本文向大家介绍浅谈Vue SSR 的 Cookies 问题,包括了浅谈Vue SSR 的 Cookies 问题的使用技巧和注意事项,需要的朋友参考一下 一个网站一旦涉及到多用户, 就很难从 Cookies 中逃脱, Vue SSR 的 cookies 也真算是遇到的一个不小的问题, 从开始玩 SSR 开始到现在, 一共想出了3种方案, 从最早的把 Cookies 注入到 state 中, 到把 C

  • Cookie是简单的小文件/数据,通过服务器请求发送到客户端并存储在客户端。 每次用户加载网站时,都会随请求一起发送此cookie。 这有助于我们跟踪用户的操作。 以下是HTTP Cookie的众多用途 - 会话管理 个性化(推荐系统) User tracking 要在Express中使用cookie,我们需要cookie-parser中间件。 要安装它,请使用以下代码 - npm install