社交引擎中的PHP会话
我在php页面的mysql中有这样一个查询:社交引擎中的PHP会话,php,mysql,session,socialengine,Php,Mysql,Session,Socialengine,我在php页面的mysql中有这样一个查询: mysql_query("INSERT INTO tz_todo SET text='".$text."', position = ".$position.", user_id=".$_SESSION['user_id'].",
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\u id
的会话值
而$\u会话['user\u id']
在社交引擎中不工作。如何纠正这一点?我还在我的xampp中制作了一个localhost版本,一切都很好,但当我将其转换为社交引擎时,会话不起作用
上述代码有效吗?如果没有,请检查您的会话。在php.ini中保存路径
注意:要保留此变量,请记住在从会话调用变量之前在每个php脚本/页面上调用会话_start()。在使用会话对象的任何页面中,将此代码放在文件的开头:
if(!isset($_SESSION)){session_start();}
这样,如果会话尚未启动,它将启动会话;否则,如果会话已经启动,它将忽略会话启动。
这一点很重要,因为如果会话已经启动,则调用session_start()有时会导致错误。您可能会忘记在页面顶部启动会话
$\u会话['user\u id']可能未存储值。检查您的登录页面(基本上是在设置登录会话变量之后),或者在注册您是否为该会话变量赋值之后
将值设置为会话变量:
$\会话['user\u id']=“1234567”
这就是我通过会话获取用户id的方式
session_start();
$userID = $viewer->getIdentity();
$_SESSION['user_id'] = $userID;
echo $_SESSION['user_id'];
使用session存储用户id是完全错误的。要获得用户id,请尝试
$viewer\u id=Engine\u Api:::\u()->user()->getViewer()->getIdentity()代码>(或$user->getIdentity,如果您有其他用户的对象)
如果仍然需要使用会话来存储此数据,请使用。是否调用session_stat()代码>在文件开头?检查是否有用于处理会话的本机社交引擎函数,并使用它们存储/获取其中的信息。@David Yes。我已经开始了会话。@Ivanhoe123这就是社交引擎的问题所在。我对社交引擎很陌生,他们没有太多的文章和教程。有错误吗<代码>错误报告(-1)代码>并确保它们是可见的(显示错误)。代码可以工作,但社交引擎不会保留会话的值。查看此链接:$user=engine\u Api::\()->getItem('user',$user\u id);通常让用户获得完整的对象更好。
if(!isset($_SESSION)){session_start();}
session_start();
$userID = $viewer->getIdentity();
$_SESSION['user_id'] = $userID;
echo $_SESSION['user_id'];