gpt4 book ai didi

javascript - 调用 React 渲染的 api 时 $_SESSION 为空

转载 作者:行者123 更新时间:2023-11-28 05:16:32 26 4
gpt4 key购买 nike

上下文:我有一个用 React 渲染的 api。当我登录并进入管理页面时,我只想查看我自己的内容,由我创建并且只有我自己。为此,我必须检查我的 $_SESSION['user_id'] 是否与数据库中的publisher_id 匹配。该 API 允许登录用户创建/删除/编辑他的帖子。 API 的结构是:

  1. post.php,我们使用多种方法(创建、编辑等)创建一个名为 Post 的类。
  2. create.php、edit.php、read.php 等,我们在其中创建 Post 对象并调用所需操作所需的函数。

后者在 React 中名为 Create.js 等的组件之一中调用,然后将其封装在其他组件中后进行渲染。

$_SESSION['user_id'] 直到 React 完成渲染我们所有的帖子后才会出现。

当我在 content.php 页面上的 React 容器之前调用 echo $_SESSION['user_id'] 时,user_id 将正确显示。 (我在页面顶部使用 session.start() )

<?php
echo $_SESSION['user_id']; // works

//Container for our React component.When calling the api inside the
//component, $_SESSION['user_id'] is empty
echo "div id='app'></div>";


echo $_SESSION['user_id']; //works again, $_SESSION['user_id'] is the same as before

问题: 当 React 渲染数据库中的内容时,如果在 SQL 查询中写入 "... WHERE p.publisher_id=",则不会显示任何内容。 $_SESSION['user_id'] . "... "这意味着 $_SESSION['user_id'] 不再存在。

关于如何解决这个问题有什么建议吗?

最佳答案

尝试添加 session_start();在该 div 内,或者如果这不起作用,请执行 Define('_SESSION', $_SESSION);

关于javascript - 调用 React 渲染的 api 时 $_SESSION 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40940531/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com