我在登录时遇到问题。当我点击一个链接,如果我没有登录,它会将我重定向到登录页面,成功登录后,它应该重定向我请求的网址,但它将我重定向到个人资料页面。 这是我的视图文件:
<!--Left cols-->
<?php error_reporting(0);?>
<div class="col-lg-8 col-sm-8 col-md-8">
<div class="reg-form">
<h2>Member's Login</h2>
<title>Login</title>
<form method="post" action="<?php echo base_url();?>index.php/register_step1/login">
<div class="row">
<label for="name">Email</label>
<span><i class="icon-name"></i><input type="email" placeholder="example@gmail.com" required id="name" name="email"/></span>
</div>
<div class="row">
<label for="pass">Your Password</label>
<span><i class="icon-pass"></i><input type="password" placeholder="*************" id="pass" required name="password"/></span>
</div>
<!--input type="hidden" name="redirurl" value="<?php echo $_SERVER['HTTP_REFERER']; ?>" /-->
<div class="row">
Forgot Password <a href="">click here</a> / <a href="">Register</a> new user
</div>
<div class="row">
<input type="submit" value="Login" name="submit"/>
</div>
</form>
</div>
</div>
<?php $this->load->view("home_template/rightbar");?>
这是我的控制者:
public function login(){
$this->load->model("User_model");
$this->load->library('user_agent');
if(isset($_POST["submit"])){
//$url = $this->input->post("redirurl");
$data = $this->User_model->login();
if($data){
foreach($data as $dta){
$id = $dta->id;
$email = $dta->email;
}
$session_array = array("id"=>$id,"email"=>$email);
$this->session->set_userdata("logged_by_login",$session_array);
redirect("profile");
}
}
else{
}
$data["main_content"] = "login_view";
$this->load->view("home_template/template",$data);
}
答案 0 :(得分:0)
您可以像这样使用重定向。控制器可能无法获得正确的路径,
$this->load->helper('url');
redirect(base_url('profile'));
如果不起作用,请告诉我。
答案 1 :(得分:0)
对于页面重定向,我们在codeigniter中使用了redirect()语句。 redirect()使用重定向将用户发送到指定的网页 标题声明。
redirect()语句驻留在URL帮助器中,因此我们需要加载url helper:
$这 - &GT;负载&GT;辅助(&#39; URL&#39);
个人资料页面重定向我们编写下面的语句并将第一个参数传递为&#34;个人资料&#34;第二个参数是&#34;刷新/位置&#34;。
<强>重定向(&#39;轮廓&#39;&#39;刷新&#39); 强>
重定向功能加载第一个指定的本地URI 函数调用的参数,使用指定的选项构建 在您的配置文件中。
第二个参数允许开发人员使用不同的HTTP 命令执行重定向&#34; location&#34;或者&#34;刷新&#34;。
根据Code Igniter文档:&#34;位置更快,但是 在Windows服务器上,它有时可能是一个问题。&#34;所以最好使用&#34;刷新&#34;作为第二个参数