У меня какая-то странная проблема, так что терпите меня.Я использую функцию _remap для реализации протокола example.com/user/username в своем URI и использую следующий код:
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);
}
}
Поэтому моя проблема заключается в том, что всякий раз, когда я набираю INVALID URIсегмент, то есть он не найден в базе данных, он просто возвращает пустую страницу.Я перепробовал несколько условных выражений, но в основном мне нужен этот алгоритм:
if $profile_name = FOUND (in DB)
display page
else
redirect to error page
Как я уже сказал, я могу заставить его принять действительное имя_БД user_name, но с неверным оно будетпросто отобразить пустую страницу.Я подумал, что это потому, что я включил аргумент 0 в функцию сегмента (2,0).Дайте мне знать, что вы думаете ... Большое спасибо всем!
PS На всякий случай, если вам интересно, почему я не использую функции маршрутизации, я не был уверен, смогу ли я сделать все это с маршрутизацией (проверкаэто против БД в любом случае).