akc****@mail*****
akc****@mail*****
2008年 11月 11日 (火) 13:30:23 JST
kunitsuji 様 返信ありがとうございます。 アカイシです。 昨日と今日の午前中さんざん悩んだのですが、 ひょんなことから自己解決しました。 いつものくせで、どのメッソドを実行するか振り分けるロジックの部分で、 見通しをよくするために、いちいち exit; を付けていたのですが、 それがまずかったみたいです。 function _remap($method) { // 認証されていないユーザーの場合、ログイン画面へ転送 if ($this->session->userdata('loggedin') == FALSE) { redirect('login'); exit; } // $methodを実行 $this->$method(); exit; } show_error() で終わったり、redirect() で終わったり、何らかのメソッドで 終わったりすると、ぱっとみ(他の人が見ると)わかりづらかろうと思い、 exit;をつけていましたが(癖のようなものです)、これがまずかったようです。 オブジェクティブなコーディングは好きですが、スクリプト言語であるPHPでは、 過剰なオーバーヘッドは気になるので、CodeIgniter はなかなか好感触です。 > kunitsujiです。 > > アカイシさんはじめまして。 > > ノーマルの1.6.3を入れたら問題なく表示されますか? > 手を入れた部分が影響を与えているように思いますが。。 > database、url、sessionの読み込みで影響を受けるとは思えないので、 > ユーザー認証前ならログインフォームを表示しようとしている、の部分の > ソースなどはって問題ないものであれば張り付けるのが早いかと思います。 > > > >アカイシと申します。 > >今回初めてCodeIgniterを使って開発しています。 > > > >最初はCIをインストールして何らかの画面表示させるところまでは > >すんなりいってたのですが、急に画面が真っ白になって何も表示されなくなりました。 > > > >僕なりに調べてみると、Loaderクラスの _ci_load() の中の ob_start() で > >バッファされたままデータが送信されていないようなのです。 > >ob_start() をコメントアウトすると表示させたいページの内容は表示されます。 > > > >また、コントローラの $this->load->view('template') のあとに、 > >echo($this->output->get_output()) と、手動で表示させると表示されます。 > > > >現在、/(ドキュメントルート)と /admin と二つのアプリケーションとして作る予定で、 > >/admin の方のファイルは /system/application/admin 以下に設置しています。 > >/(ドキュメントルート)の方はこのような問題は起きていません。 > > > >なぜ、このような現象が起きているのか、どこを見直せばいいのか、 > >ご助言いただけませんでしょうか。 > > > >関係ありそうなところとして、ユーザー認証機能を作ろうとしており、 > >session、database、url を自動読み込みにしています。 > >ユーザー認証前ならログインフォームを表示しようとしているのですが、 > >まだ、ほとんどロジックらしきものはありません。 > > > >コントローラの $this->load->view('template') をしても > >view/template.php の内容が表示されないという現象です。 > >手動で出力できるので、ファイルの読み込みは行えています。 > >ログの記録もあります。 > >File loaded: ../system/application/admin/views/template.php > > > >環境:CodeIgniter 1.6.3(日本語ver) > > Apache2.0、PHP 5.2.6(WinXPにXAMPP1.6.8をインストール) > > > >_______________________________________________ > >Codeigniter-users mailing list > >Codei****@lists***** > >http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users