CodeIgniter验证后如何在视图页面中重定向到锚标记

时间:2015-06-16 05:44:12

标签: php html codeigniter validation

这是我的视图页面。我为Event添加了锚标记 查看

<a href="#tab_3" data-toggle="tab">Events</a>
<div class="tab-pane" id="tab_3">
    <h3 class="box-title">Events</h3>
    <form role="form" id="EventForm"  action="<?echo base_url()?>home/submit_event" method="post">
        <div>
            <label>Event Name</label>
            <input id="event_name" name="e_name" type="text" style="margin-right:20px;width:174px;height:21px;margin-left:46px ;"  class="form-control event_form">
            <?php echo form_error('e_name'); ?>
        </div>
</div>

控制器

这里是验证后的插入。如果验证运行是假的,我需要重定向锚标签。但我不知道这是怎么可能的。我正在重定向到索引那是我的主页

function submit_event()
{
    $this->form_validation->set_error_delimiters('<div style="color:#B94A48">', '</div>');

    $this->form_validation->set_rules('e_name', 'Event Name', 'required');
    if ( $this -> form_validation -> run() === FALSE )
    {
        $this->index();
        //redirect(base_url().'');

    }
    else
    {
        $event_name=$this->input->post('e_name');
        $event_data=array(
            'event_name'=>$event_name,
        );
        $this->home_model->insert_event($event_data);
    }
}

4 个答案:

答案 0 :(得分:1)

要重定向到CI中的锚点,您应该使用重定向功能,如下所示:

redirect('/controller/function#anchor', 'refresh');

希望有所帮助

答案 1 :(得分:0)

if ( $this -> form_validation -> run() === FALSE )
    {
        header('Location: http://www.example.com/');//your controller name

    }

Header Function

if ( $this -> form_validation -> run() === FALSE )
    {
         redirect('/login/form/', 'refresh');//your controller name

    }

Redirect

答案 2 :(得分:0)

可以使用url helper中的redirect方法实现 codeigniter重定向。您可以像这样使用

  

重定向(&#39; /您的控制器/方法&#39;,&#39;刷新&#39;);

你的控制器&#39;是控制器,它包含新事件添加的视图页面的方法。并且&#39;方法&#39;是加载视图的控制器内部的方法名称。有关参考,请转到此链接 codeigniter url helper

答案 3 :(得分:0)

这就是你如何做到的。首先加载URL helper,然后调用redirect()方法

$this->load->helper('url');
redirect(base_url().'controller/method', 'refresh');

参考CodeIgniter Docs