ちょっと変わった問題があるので、我慢してください。_remap 関数を使用して、URI に example.com/user/username プロトコルを実装しています。次のコードを使用しています。
function _remap()
{
//URI Segment I am retrieving (this part works for me)
$profile_name = $this->uri->segment(2,0);
// Query the DB where user_name (column in DB) == $profile_name
$query = $this->db->get_where('users', array('user_name' => $profile_name));
// Load user data when URI segment is retrieved, load page
foreach($query->result() as $row){
$this->load->view('user_view', $data);
}
}
したがって、私の問題は、無効な URI セグメントを入力するたびに、つまりデータベースに見つからない場合、空白のページが返されることです。一連の条件ステートメントを試しましたが、基本的には次のアルゴリズムが必要です。
if $profile_name = FOUND (in DB)
display page
else
redirect to error page
私が言ったように、有効な DB user_name を受け入れるようにすることはできますが、無効なものを使用すると、空白のページが表示されます。セグメント(2,0)関数に0引数を含めたためだと思いました。感想を聞かせてください...どうもありがとうございました!
PSなぜ私がルーティング機能を使用していないのか疑問に思っている場合に備えて、ルーティングでこれをすべて行うことができるかどうかはわかりませんでした(とにかくDBに対してチェックしてください).