PHP / codeigniter:链接在单击时不起作用,但如果在新选项卡中打开则很好

时间:2010-07-03 10:06:26

标签: php codeigniter

在一个特定的页面上,我有一个按钮,用于切换数据库中的某个字段。功能是

 function source_toggle_paid($event_id = null, $attendee_id = null)
{
    $this->authentication->checkLogin(); // Check if the user is logged in

    // Check the parameters provided are null
    if ($attendee_id == null || $event_id == null)
    {

        // If either attendee or event ids given are null, give an error message
        $data = array(
                        'type' => 'error',
                        'message' => $this->message_list->get('DOES_NOT_EXIST', 'attendee') . ' ' . $this->message_list->get('BACK_TO_SOURCE_HOME')
        );

        // Output the error message

        $this->load->view('template/main_header');
        $this->load->view('template/message', $data);
        $this->load->view('template/main_footer');  

    }
    else    // Otherwise, parameters are not null
    {


        //Load the attendee model, and toggle the paid status of the attendee
        $this->load->model('Attendee');
        $this->Attendee->toggle_field('paid',$attendee_id);
        //Redirect the user back to the attendees page, with the used search term
        redirect('admin/source_attendees/'.$event_id);
                    //redirect('admin/source_attendees/'.$event_id);


    }
}

当我点击按钮时,我被重定向到404页面并且dp没有改变,在进一步播放时我发现函数永远不会到达。但是,如果我手动输入网址,它就会起作用,如果我右键单击并在新标签页中打开,它也会起作用

1 个答案:

答案 0 :(得分:0)

路线文件怎么样?我有一个看起来类似的问题,并使用routes.php设置处理它,你应该添加smth像

$route['....source_toggle_paid/(:any)'] = "....source_toggle_paid";

make shure你改变....你是控制器名称,然后用

获取变量

$event_id = $this->uri->segment(3); $attendee_id = $this->uri->segment(4);

让shure你改变你的uri段与正确的