我创建了一个Login控制器,当我重定向到我网站的主页时,它不会重定向到我的视图,这是索引。
这是我的控制器(main.php):
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Main extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
$this->load->view('login');
}
public function validate_credentials () {
$this->load->model("membership_model");
$query = $this->membership_model->validate();
if($query){
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect('Main/homepage1', 'refresh');
}
else {
$this->index();
}
}
public function homepage1 () {
$this->load->view("index");
}
}
这是我在login_view.php
中的表单<form class="form-login" method="post" name="redirect" action="<?php echo site_url("Main/validate_credentials"); ?>">
<h2 class="form-login-heading">sign in now</h2>
<div class="login-wrap">
<input type="text" class="form-control" placeholder="User ID" autofocus value="<?php echo set_value('username'); ?>" >
<br>
<input type="password" class="form-control" placeholder="Password" value = "<?php echo set_value('password'); ?>">
<label class="checkbox">
<span class="pull-right">
<a data-toggle="modal" href="login.php#myModal"> Forgot Password?</a>
</span>
</label>
<button class="btn btn-theme btn-block" name="login" href="index.html" type="submit"><i class="fa fa-lock"></i> SIGN IN</button>
</div>
<?php $this->load->view("modals/forgot_pass_modal"); ?>
</form>
和我的模特:
<?php if( ! defined ('BASEPATH')) exit ('No direct script access allowed');
class Membership_model extends CI_Model{
public function __construct()
{
parent::__construct();
}
public function validate () {
$this->db->where('admin_username', $this->input->post('username'));
$this->db->where("admin_pword", md5($this->input->post("password")));
$query = $this->db->get("administration");
if($query->num_rows() == 1){
return true;
}
}
}
?>
有人能帮助我吗?因为这是我第一次使用这个PHP框架,如果你能帮助我,我真的很感激。
答案 0 :(得分:1)
试试这个
在视图中
substringToIndex()
在控制器中
NSString
在模型中
objects["newlocation"] = newLocation;
答案 1 :(得分:1)
您在表单中遗漏了名称属性。
<input name="username" type="text" class="form-control" placeholder="User ID" autofocus value="<?php echo set_value('username'); ?>" >
^ ^
<input name="password" type="password" class="form-control" placeholder="Password" value = "<?php echo set_value('password'); ?>">
^ ^
如果不指定名称,则尝试访问模型
通过更改您的代码应该工作。我知道休息一切都很好。
答案 2 :(得分:0)
您忘记在attributes
login_view.php
将此view code
替换为此...
<form class="form-login" method="post" name="redirect" action="<?php echo site_url("main/validate_credentials"); ?>">
<h2 class="form-login-heading">sign in now</h2>
<div class="login-wrap">
<input name="username" type="text" class="form-control" placeholder="User ID" autofocus value="<?php echo set_value('username'); ?>" >
<br>
<input name="password" type="password" class="form-control" placeholder="Password" value = "<?php echo set_value('password'); ?>">
<label class="checkbox">
<span class="pull-right">
<a data-toggle="modal" href="login.php#myModal"> Forgot Password?</a>
</span>
</label>
<button class="btn btn-theme btn-block" name="login" type="submit"><i class="fa fa-lock"></i> SIGN IN</button>
</div>
<?php $this->load->view("modals/forgot_pass_modal"); ?>
</form>
用此
替换模型 <?php if( ! defined ('BASEPATH')) exit ('No direct script access allowed');
class Membership_model extends CI_Model{
public function __construct()
{
parent::__construct();
}
public function validate () {
$this->db->select('admin_username');
$this->db->where('admin_username', $this->input->post('username'));
$this->db->where("admin_pword", md5($this->input->post("password")));
$query = $this->db->get("administration");
return $query->row();
}
}
?>
在控制器
中使用此代码替换validate_credentials
方法
public function validate_credentials () {
$this->load->model("membership_model");
$query = $this->membership_model->validate();
if($query->admin_username){
$data = array(
'username' => $this->input->post('username'),
'is_logged_in' => true
);
$this->session->set_userdata($data);
redirect(base_url().'main/homepage1');
}
else {
$this->index();
}
}
答案 3 :(得分:0)
因为您的问题只是重定向,请按照以下方式进行操作
redirect('Main/homepage1', 'refresh');
作为
$url = site_url('main/homepage1');
redirect($url);
当您重定向到新链接时,您不需要刷新它。 希望它有所帮助