ホームページ >バックエンド開発 >PHPチュートリアル >取得される文字列値であるセッションは、常に画像タイプを取得します。
ci フレームワーク バージョン 2.1.4 を使用する
$uuid=(string)($this->uri->segment(3));
$data=array(
'uuid'=>$uuid
);
$this->session->set_userdata('uuid',$data);
echo $this->session->userdata('uuid');
$this- >uri->segment(3) は ID 番号を取得しますが、出力は常に画像です
echo $this->uri->segment(3) を直接出力します。これは ID 番号です、問題ありません
次にフレームワークは使用しないでください。直接
session_start();
echo $_SESSION["uuid"]
このようにして、取得される値は静止画像です
ディスカッションへの返信 (解決されたスキーム)
$uuid=(string)($this->uri->segment(3)); echo $uuid それが何であるかを見てみましょう
これは ID 文字列です。ここで問題は、セッションを使用した後、画像になることです
session_start();
echo $_SESSION["uuid"]
この方法では、取得された値はまだ画像
php に何らかのバグが見つかったとは思わないでください
問題は php ではなく、あなたのせいです
$uuid=(string)($this->uri->segment(3));
echo $uuid;
これは ID 文字列です。ここで問題は、セッションを使用した後、画像になることです
print_r($this->uri->segment_array())
lz 50 セント賭けます、
$_SESSION['uuid'] がリセットされているに違いありません。 または $uuid がリセットされました。 。
セッションの内容を確認したい場合は、セッションストレージディレクトリに移動してファイルを探してください。
まだそこにはありません、$uuid がリセットされているはずです
http://stackoverflow.com/questions/5484429/codeigniter-session-value-as-images、解決しました
ただし、他のアクション print_r($this->uri->segment_array()) にジャンプすると、値は image になります
set_userdata を使用した後、リダイレクトを使用します
print_r($this->uri- >segment_array() を使用します) )、最終的に値は画像ではありません
ハック方法、orz
php にバグが見つかったとは思わないでください
間違いは php ではなくあなたのせいです
$uuid=(string)($this - >uri->segment(3));
echo $uuid;
それが何であるかを見てください
バグを見つけたとは言っていませんが、抽象的な脆弱性と呼ばれるものがあります。