PHP-Codeigniter表单验证未显示错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP-Codeigniter表单验证未显示错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2504字,纯文字阅读大概需要4分钟。
内容图文
![PHP-Codeigniter表单验证未显示错误](/upload/InfoBanner/zyjiaocheng/678/c698c890075445529066c0ca2cd7c1e2.jpg)
我是Codegniter的新手,所以请放轻松.我正在构建一个简单的登录表单,并且在登录凭据正确时已成功重定向到页面.但是,如果我提交空白表格,则不会收到任何错误消息.我还在表单字段中使用set_value,一旦提交表单,codeigniter不会重新填充用户输入的内容.数据以某种方式被清除.为了清楚起见,以下是我已完成的一些操作.
>自动加载form_validation库
>自动加载的表单助手
>上面表格回响了validation_errors
account.php(控制器)
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Account extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('User_model', 'user');
}
public function index() {
$this->load->view('home');
}
public function validate() {
$this->form_validation->set_rules('username', 'username', 'xss_clean|required');
$this->form_validation->set_rules('password', 'password', 'xss_clean|required|md5');
$user_data = array(
'username' => $this->input->post('username'),
'password' => MD5($this->input->post('password'))
);
if ($this->form_validation->run() == FALSE)
{
$data['title'] = "Login Fool";
$this->load->view('templates/header', $data);
$data['contents'] = $this->load->view('login_view', $data, TRUE);
$this->load->view('page', $data);
$this->load->view('templates/footer');
}
else
{
$validated = $this->user->validate($user_data['username'], $user_data['password']);
if($validated){
redirect(base_url() . 'account');
}
else{
$this->session->set_flashdata('LoginError', 'Sorry, your credentials are incorrect.');
redirect(base_url() . 'account/login');
}
}
}
public function login() {
$data['title'] = "Login Fool";
$this->load->view('templates/header', $data);
$data['contents'] = $this->load->view('login_view', NULL, TRUE);
$this->load->view('page', $data);
$this->load->view('templates/footer');
}
}
login_view.php(视图)
<h1>Login Now</h1>
<?php
if(validation_errors() != false) {
echo "<div id='errors'>" . validation_errors() . "</div>" ;
}
?>
<?= ($this->session->flashdata('LoginError')) ? '<p class="LoginError">' . $this->session->flashdata('LoginError') . '</p>' : NULL ?>
<?php echo form_open('account/validate'); ?>
<label for="username">Username:</label>
<input type="text" size="20" id="username" name="username" value="<?php echo set_value('username'); ?>"/>
<br/>
<label for="password">Password:</label>
<input type="password" size="20" id="passowrd" name="password" value="<?php echo set_value('password'); ?>"/>
<br/>
<input type="submit" value="Login"/>
</form>
为什么错误不会在表格上方显示?
解决方法:
原来我的模特是元凶.它扩展了CI_Controller而不是CI_Model.感谢所有看过这个的人.此代码有效.
内容总结
以上是互联网集市为您收集整理的PHP-Codeigniter表单验证未显示错误全部内容,希望文章能够帮你解决PHP-Codeigniter表单验证未显示错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。