我正在尝试从$ sess_data中提取实例的值,并使用codeigniter将其替换为URL。
我的代码如下:
$uresult = $this->user_model->get_user($email, $password);
if (count($uresult) > 0) {
// set session
$sess_data = array(
'login' => TRUE,
'uname' => $uresult[0]->fname,
'uid' => $uresult[0]->id,
'instance' => $uresult[0]->instance
);
$this->session->set_userdata($sess_data);
foreach ($sess_data as $object) {
echo $object->sess_data;
}
die;
redirect('http://www.example.com/"instance"', 'refresh');
} else {
$this->session->set_flashdata('msg', '<div class="alert alert-danger text-center">Wrong Email-ID or Password!</div>');
redirect('login/index');
}
我需要提取此值instance' => $uresult[0]->instance
并使用此值替换URl实例部分,以便它转到该特定URL。我得到5个错误,其中4个是Severity:Notice
消息:尝试获取非对象的属性
和1错误说
遇到PHP错误
严重性:注意
消息:未初始化的字符串偏移量:3
文件名:controllers / login.php
行号:38
我的模型代码是:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class user_model extends CI_Model
{
function __construct()
{
parent::__construct();
}
function get_user($email, $pwd)
{
$this->db->where('email', $email);
$this->db->where('password', md5($pwd));
$query = $this->db->get('user');
return $query->result();
}
// get user
function get_user_by_id($id)
{
$this->db->where('id', $id);
$query = $this->db->get('user');
return $query->result();
}
// insert
function insert_user($data)
{
return $this->db->insert('user', $data);
}
}?>
答案 0 :(得分:1)
您可以通过更新foreach循环来尝试它,如下所示。
foreach ($sess_data as $key => $object) {
echo $key."=>".$object."<br />";
}