Php Codeigniter can';t登录
这是控制器,当我点击登录按钮时,什么也没发生。我想要的是在验证用户数据时加载成功屏幕,在未验证用户数据时显示错误消息 我已将我的基本控制器设置为登录Php Codeigniter can';t登录,php,Php,这是控制器,当我点击登录按钮时,什么也没发生。我想要的是在验证用户数据时加载成功屏幕,在未验证用户数据时显示错误消息 我已将我的基本控制器设置为登录 <?php class Login extends CI_Controller { /** * * load the magazines */ function __construct(){ parent::__co
<?php
class Login extends CI_Controller {
/**
*
* load the magazines
*/
function __construct(){
parent::__construct();
$this->load->library('form_validation');
$this->load->model('User','National_Holiday','Updated_Holiday');
}
public function index() {
$this->load->view('login');
}
/**
*
* add a magazine
*/
public function login(){
$this->form_validation->set_rules(array (
array(
'field' => 'username',
'label' => 'username',
'rules' => 'required',
) ,
array(
'field' => 'password',
'label' => 'password',
'rules' => 'required|is_numeric',
),
));
$this -> form_validation ->set_error_delimiters('<div class="alert alert-error">','</div>');
if(!$this->form_validation->run()){
$this->load->view('login');
}
else {
$this->load->view('national_holiday_screen');
}
}
}
您必须在表单标记中指定action属性,如下所示:
行动=”http://yoursitename.com/controllername"
在您的情况下,controllername是登录名
有关更多帮助,请参阅:
[
希望获得此帮助!展示了表单_open()
的工作原理,它是表单助手库中codeigniter的实用函数之一
在您的情况下,您需要以下代码行:
<?php echo form_open('/login'); ?>
所以你的可能看起来像
example.com/login/login
然后,form\u open()
看起来就像(尽管它有点笨重)
您可以尝试以下代码
login.php控制器文件
<?php
class Login extends CI_Controller {
/**
*
* load the magazines
*/
function __construct(){
parent::__construct();
$this->load->library('form_validation');
$this->load->helper('url');
$this->load->model('User','National_Holiday','Updated_Holiday');
}
public function index() {
$this->load->view('login');
}
/**
*
* add a magazine
*/
public function validate(){
$this->form_validation->set_rules(array (
array(
'field' => 'username',
'label' => 'username',
'rules' => 'required',
) ,
array(
'field' => 'password',
'label' => 'password',
'rules' => 'required|is_numeric',
),
));
$this -> form_validation ->set_error_delimiters('<div class="alert alert-error">','</div>');
if(!$this->form_validation->run()){
$this->load->view('login');
}
else {
$this->load->view('national_holiday_screen');
}
}
}
另外,我已经将函数名从login改为validate,因为函数名不应该和类名相似,因为构造函数已经在这里定义了
login.php视图文件
$this->load->helper('url');
<?php echo validation_errors(); ?>
<form method="post" action = "<?php echo site_url("login/validate"); ?>">
<!-- LOGIN DIV STARTS HERE -->
<div>
<div> <h2> Log In </h2></div>
<div>
<lablel for="username"> Username </label>
<input type="text" name="username" value=""/>
</div>
<div>
<label for="password"> Password </label>
<input type="password" name="password" value=""/>
</div>
<div>
<br>
<input type="submit" value="Login">
</div>
</div>
<!-- LOGIN DIV ENDS HERE -->
</form>
你在哪里指定表单提交url?我是codeigniter的新手,我不知道。我只是跟着tutorials@Wold请给我一些建议,我需要更改的内容解释了form_open(),这是一种用于启动表单的辅助方法。
example.com/login/login
<?php echo form_open('/login/login'); ?>
<?php
class Login extends CI_Controller {
/**
*
* load the magazines
*/
function __construct(){
parent::__construct();
$this->load->library('form_validation');
$this->load->helper('url');
$this->load->model('User','National_Holiday','Updated_Holiday');
}
public function index() {
$this->load->view('login');
}
/**
*
* add a magazine
*/
public function validate(){
$this->form_validation->set_rules(array (
array(
'field' => 'username',
'label' => 'username',
'rules' => 'required',
) ,
array(
'field' => 'password',
'label' => 'password',
'rules' => 'required|is_numeric',
),
));
$this -> form_validation ->set_error_delimiters('<div class="alert alert-error">','</div>');
if(!$this->form_validation->run()){
$this->load->view('login');
}
else {
$this->load->view('national_holiday_screen');
}
}
}
$this->load->helper('url');
<?php echo validation_errors(); ?>
<form method="post" action = "<?php echo site_url("login/validate"); ?>">
<!-- LOGIN DIV STARTS HERE -->
<div>
<div> <h2> Log In </h2></div>
<div>
<lablel for="username"> Username </label>
<input type="text" name="username" value=""/>
</div>
<div>
<label for="password"> Password </label>
<input type="password" name="password" value=""/>
</div>
<div>
<br>
<input type="submit" value="Login">
</div>
</div>
<!-- LOGIN DIV ENDS HERE -->
</form>