我有一个文件文件文件,我通过file_put_contents保存用户ID 我希望在将用户ID发送到查看功能之前显示该用户ID 这是我的代码 我试着自己但没有结果......
$name = $this->session->userdata('name');
$id = $this->session->userdata('id');
file_put_contents($filename,json_encode(array('id'=>$id,'name'=>$name)));
$response = array();
$response = json_decode(file_get_contents($filename));
if ($response->name==1){
echo $this->session->userdata('name');
}
echo json_encode($response);
这不工作,我想显示bt,如果我删除这条件,然后我得到我的结果在视图文件
if ($response->name==1){
echo $this->session->userdata('name');
}
感谢....
答案 0 :(得分:0)
我不清楚为什么你有
if ($response->name==1){
但无论如何都要尝试这个
如果你想要预先设置json对象结构,你需要第二个参数为真
json_decode(file_get_contents($filename) ,true);
你需要一些你可以在botom中找到的json标题
header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Content-type: application/json');
$name = $this->session->userdata('name');
$id = $this->session->userdata('id');
if(!empty($name)){
if(!is_file($filename)){
touch($filename);
chmod($filename,0777);
}
file_put_contents($filename,json_encode(array('id'=>$id,'name'=>$name),true));
$response = array();
$response = json_decode(file_get_contents($filename) ,true);
if (empty($response->name)){
echo json_encode(array('error'=>'empty response name'),true);
die();
}else{
echo json_encode($response);
}
}else{
json_encode(array('error'=>'no username'),true)
}
我的管理员内部有我的消息系统,用于codeigniter
答案 1 :(得分:0)
$response->name
它将是一个字符串,而不是一个int。
替换:
if ($response->name==1){
echo $this->session->userdata('name');
}
使用:
if ($response->name){
echo $this->session->userdata('name');
}
<强>更新强>
您在评论中的某处说明了您要检查用户ID,但在代码中您检查了用户名。同样在if
条件内,您应该使用$ response中的数据而不是会话中的数据。那说:
if ($response->id == 1){
echo $response->name;
}
作为旁注,您确定会话中存在id
和name
吗?