【问题标题】:Starting Sessions in Code Igniter [closed]在 Code Igniter 中启动会话 [关闭]
【发布时间】:2012-03-27 21:36:06
【问题描述】:

从视图顶部开始:

<?php ### CREATE SESSION **
$this->load->library('session'); $this->load->library('encrypt');

$newdata = array(
'session_id'  => random hash,
'ip_address'    => 'string - user IP address',
'user_agent'    => 'string - user agent data',
'last_activity' => timestamp
);

$session_id = $this->session->userdata('session_id');

?>

收到此错误:

Parse error: syntax error, unexpected T_STRING, expecting ')'  on line 5

我该如何解决这个问题?

【问题讨论】:

  • 这是你的真实代码吗?你忘了变量以$ 开头吗?
  • 没有更新。顺便说一句,这些东西不属于视图文件。
  • 这与会话或代码点火器无关。这只是一个语法错误,您需要在发帖寻求帮助之前学会识别类似的简单事物。
  • 这部分'string - user IP address' 是否应该是获取 REMOTE_ADDR 的 php 调用?抱歉,正在关注:codeigniter.com/user_guide/libraries/sessions.html,这是他们所做的
  • 你想用这个来完成什么?用户指南中的引用只不过是对 CI 在将会话保存到数据库时内部使用的数据的解释。

标签: php codeigniter session syntax-error


【解决方案1】:

查看您的新 cmets,开始会话您需要做的就是:

<?php
   //Start session
   $this->load->library('session');

   //Try retriving data:
   $session_id = $this->session->userdata('session_id');
   echo $session_id;

【讨论】:

  • 这是一个好的开始,我已经拥有了。我正在尝试输出该会话数据(只是为了检查)..
  • 我的 app/config/config.php 中有这个:$config['sess_expire_on_close'] = FALSE; $config['sess_encrypt_cookie'] = TRUE; $config['sess_use_database'] = TRUE; $config['sess_table_name'] = 'thetable'; $config['sess_match_ip'] = TRUE; $config['sess_match_useragent'] = TRUE;
  • 问题是,它没有将它发送到我的数据库。我还有 0 行。
  • 当我访问该页面时。很抱歉多次回复。
  • 更新了我的答案。尝试在没有数据库的情况下使用它,以查看会话是否正常工作。然后我们将使用数据库作为后端。
猜你喜欢
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 1970-01-01
  • 1970-01-01
  • 2013-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多