社交引擎中的 PHP 会话

Posted

技术标签:

【中文标题】社交引擎中的 PHP 会话【英文标题】:Session in PHP in Social Engine 【发布时间】:2012-07-13 23:46:50 【问题描述】:

我在 mysql 的一个 php 页面中有这个查询:

mysql_query("INSERT INTO tz_todo SET text='".$text."', 
                                     position = ".$position.", 
                                     user_id=".$_SESSION['user_id'].", 
                                     view_stat=0");

我尝试回显查询,结果如下:

INSERT INTO tz_todo SET text='trial text', position = 21, user_id=, view_stat=0

好像获取不到user_id的session值。

$_SESSION['user_id'] 不在社交引擎中工作。如何纠正这个?我还在我的 xampp 中制作了一个 localhost 版本,一切都很好,但是当我将其转换为社交引擎时,会话无法正常工作。

【问题讨论】:

文件开头是否调用session_stat(); 检查是否有任何本地社交引擎功能来处理会话并使用它们来存储/获取信息。 @David 是的。我已经开始了会议。 @Ivanhoe123 这就是社交引擎的问题。我对社交引擎真的很陌生,他们没有太多的文章和教程。 有什么错误吗? error_reporting(-1); 并确保它们可见 (display_errors) 【参考方案1】:

使用 session 存储 user_id 是完全错误的。要获得 user_id 试试

$viewer_id = Engine_Api::_()->user()->getViewer()->getIdentity();(或者 $user->getIdentity 如果你有另一个用户的对象)。

如果您仍需要使用 session 来存储这些数据,请使用Zend-approach。

【讨论】:

$user = Engine_Api::_()->getItem('user', $user_id);通常让用户获得完整的对象会更好。【参考方案2】:

这就是我通过会话获取用户 ID 的方式

session_start();

$userID = $viewer->getIdentity();

$_SESSION['user_id'] = $userID;

echo $_SESSION['user_id'];

【讨论】:

【参考方案3】:

Yoy 可能会忘记在页面顶部开始会话

<?php if(!isset($_SESSION)) session_start(); ?>

$_SESSION['user_id'] 可能没有存储值。检查您的登录页面(基本上在登录会话变量将设置之后)或在注册天气后您为该会话变量分配了一个值..

为会话变量设置值:

$_SESSION['user_id'] = "1234567";

【讨论】:

【参考方案4】:

在您使用会话对象的任何页面中,将此代码放在文件的开头:

if(!isset($_SESSION))session_start();

这样,如果会话尚未启动,它会启动它;否则,如果会话已经开始,它将忽略会话开始。 这很重要,因为如果会话已经启动,调用 session_start() 有时会导致错误。

【讨论】:

【参考方案5】:
session_start(); 
$_SESSION["test"] = "hello world";
session_start();
echo $_SESSION["test"];

上面的代码有效吗?如果没有,请检查 php.ini 中的 session.save_path

注意:要保留此变量,请记住在从会话中调用变量之前在每个 php 脚本/页面上调用 session_start()。

【讨论】:

代码有效,但社交引擎不会保留会话的价值。 查看此链接:socialengineforum.com/index.php?/topic/…

以上是关于社交引擎中的 PHP 会话的主要内容,如果未能解决你的问题,请参考以下文章

Java社交网络引擎(框架/平台)列表[关闭]

硅谷社交11--主页面中的会话列表页面

社交引擎中的注册流程如何运作?调用代码的方式/内容和时间

硅谷社交10--会话详情页面

Spring 社交和会话注册表

PHP中的会话已经开始错误[重复]