登录或注册后重定向到上一页

时间:2013-04-28 09:23:47

标签: php codeigniter

我是codeigniter的新手。我正在开发一个工作站点。我搜索一份工作并找到合适的工作,然后点击工作细节,然后如果用户登录,则出现“立即申请”按钮,但如果用户未登录,则登录或注册按钮出现。我需要做的是点击登录或完成流程后注册,然后他们需要重定向到他们搜索过的同一页面。我怎么能在cdeigniter中做到这一点?。

我的工作明细页面是

public function details($slug = NULL)
{
    $this->load->model('jobmodel');
    $this->load->helper('job');
    $slug = $this->uri->segment(3);
    $jobID = $this->jobs_model->getJobidFromSlug($slug);
    $userID = $this->session->userdata('user_id');
    $check = $this->jobs_model->checkAppliedJob($userID, $jobID);
    $data['check'] = $check;

    // #common head section

    $data['site_title'] = 'Job By Country | Neev ';
    $data['site_keywords'] = 'job,dubai,hr,portal';
    $data['site_description'] = 'Neev  Home, Hr Portal, Job ';
    $join = 'LEFT JOIN job_industry AS ji ON(ji.id = ejp.job_industry) LEFT JOIN job_country AS jc ON (ejp.country_id = jc.id) 
                LEFT JOIN job_category AS jcat ON (ejp.job_category = jcat.id)where ejp.slug ="' . $slug . '"';
    $jobsDetails = Jobmodel::find(array(
        'select' => 'ejp.*,ji.title as industry_type,jc.title as country,jcat.title as category',
        'from' => 'employer_job_posting as ejp',
        'joins' => $join
    ));

    // echo Jobmodel::connection()->last_query;
    // die;

    $data['main_content'] = 'jobFulldetails';
    $data['jobs'] = $jobsDetails;
    $this->load->view($this->jobView, $data);
}

3 个答案:

答案 0 :(得分:1)

您可以添加此逻辑,保持在会话中浏览的上一页。登录或注册后,获取该会话变量的值以重定向到该页面。像这样的东西

header("location:$_SESSION['prev_page']");

答案 1 :(得分:0)

这对我有用

<script type="text/javascript">
         var back = document.referrer;
        window.location.replace(back);
</script>

答案 2 :(得分:0)

是否可以使用CI的URL帮助程序附带的redirect()方法将用户重定向回控制器?
http://ellislab.com/codeigniter/user-guide/helpers/url_helper.html页面底部

类似

redirect('search/foo/bar');

我一直都在使用它。搜索控制器的行为决定了您的实际重定向链接的外观。我在控制器中经常使用_remap()。