gpt4 book ai didi

php - 条件 URI 段错误 - Codeigniter

转载 作者:行者123 更新时间:2023-11-29 01:33:16 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,请耐心等待。我正在使用 _remap 函数在我的 URI 中实现 example.com/user/username 协议(protocol),并且我正在使用以下代码:

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

就像我说的,我能够让它接受有效的数据库用户名,但是对于无效的用户名,它只会显示一个空白页面。我认为这是因为我在 segment(2,0) 函数中包含了 0 参数。让我知道您的想法...非常感谢!

附言以防万一你想知道为什么我不使用路由功能,我不确定我是否可以用路由来完成所有这些(无论如何都要对照数据库检查)。

最佳答案

就在你的 foreach 之前,插入:

if (!$query->num_rows()) {
$this->load->helper('url');
redirect('error_page_uri_here');
}

关于php - 条件 URI 段错误 - Codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4974691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com