1

file_put_contents を介してユーザー 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 条件を削除すると、ビュー ファイルに結果が表示されます

       if ($response->name==1){
         echo $this->session->userdata('name');
       }

ありがとう....

4

2 に答える 2

0

なぜあなたが持っているのか分かりません

if ($response->name==1){

しかし、とにかくこれを試してください

json オブジェクト構造を保持する場合は、2 番目のパラメーターを true にする必要があります

 json_decode(file_get_contents($filename) ,true);

下部にある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 用です

http://dl.dropbox.com/u/72626795/messaging.zip

于 2013-03-03T14:44:31.883 に答える
0

$response->nameint ではなく文字列になります。

交換:

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

于 2013-03-03T15:44:53.767 に答える