Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在codeigniter视图中闪烁错误数据_Php_Flash_Codeigniter_Authentication_Login - Fatal编程技术网

Php 如何在codeigniter视图中闪烁错误数据

Php 如何在codeigniter视图中闪烁错误数据,php,flash,codeigniter,authentication,login,Php,Flash,Codeigniter,Authentication,Login,如何在codeigniter中显示错误。。。。我正在创建登录名 codeigniter,但如果用户登录值不等于dataase表 价值然后我需要显示错误…无效用户名或 暗语为此,我使用set_flashdata,但是。。。。当我 通过错误消息()调用它。然后错误显示: 调用未定义的函数错误消息() mylogin身份验证控制器: public function auth() { $data['title'] = 'Heart Surgeon'; $this->

如何在codeigniter中显示错误。。。。我正在创建登录名 codeigniter,但如果用户登录值不等于dataase表 价值然后我需要显示错误…无效用户名或 暗语为此,我使用set_flashdata,但是。。。。当我 通过
错误消息()调用它。然后错误显示:

调用未定义的函数错误消息()

mylogin身份验证控制器

public function auth() {

        $data['title'] = 'Heart Surgeon';
        $this->form_validation->set_rules('username', 'Username', 'trim|required|xss_clean');
        $this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_login');

        if ($this->form_validation->run() == TRUE) {

            $Value['admin_username'] = $this->input->post('username');
            $Value['admin_password'] =md5($this->input->post('password'));

            if ($Value != null) {

                $result = $this->user_model->login($Value);
                if($this->session->set_userdata($result) != null){
                    redirect('dashboard');
                }

            }
        } else {
                $this->index();

        }
    }
我的型号

public function login($value) {

        $query = $this->db->get_where('tbl_admin', $value, 1);


        if ($query->num_rows() > 0) {

            $row = $query->row_array();

            $sess_arr = array(
                'admin_user' => $row['admin_username'],
                'adm_key' => $row['admin_key'],
                'admin_type' => $row['admin_type'],
                'admin_id' => $row['admin_id'],
                'admin_logged_in' => TRUE
            );

             $this->session->set_userdata($sess_arr);
        }
        else{

             $this->session->set_userdata(array('msg_type'=>'error'));      
            $this->session->set_flashdata('error', 'Invalid username/password');
       redirect('home');    

        }
    }
我的观点

<?php if (!defined('BASEPATH')) exit('No direct script access
allowed'); ?> <?php $this->load->view('layout/header'); ?> 


<div class="container">

    <div class="row">
        <div class="col-md-4 col-md-offset-4 text-center logo-margin ">
            <img src="<?php echo base_url(); ?>assets/img/logo.png" alt=""/>
        </div>
        <div class="col-md-4 col-md-offset-4">
            <div class="login-panel panel panel-default">                  
                <div class="panel-heading">
                    <h3 class="panel-title">Please Sign In</h3>
                </div>
                <div class="panel-body">
                    <?php if (validation_errors()) {
                        ?>
                        <div class="warning" style="padding: 0px;">
                            <?php echo validation_errors(); ?>
                        </div>
                    <?php
                    }

                    $atts = array(
                        'width' => '650',
                        'height' => '400',
                        'scrollbars' => 'yes',
                        'status' => 'yes',
                        'resizable' => 'yes',
                        'screenx' => '0',
                        'screeny' => '0'
                    );
                    ?>
                    <div><?php  echo error_message();?></div>
                    <?php echo form_open('home/auth'); ?>
                    <fieldset>
                        <div class="form-group">
                            <input class="form-control" placeholder="E-mail" name="username" type="email" autofocus>
                        </div>
                        <div class="form-group">
                            <input class="form-control" placeholder="Password" name="password" type="password" value="">
                        </div>
                        <div class="checkbox">
                            <label>
                                <input name="remember" type="checkbox" value="Remember Me">Remember Me
                            </label>
                        </div>


                        <!-- Change this to a button or input when using this as a form -->
                        <input type="submit" value="login" class="btn btn-lg btn-success btn-block">
                    </fieldset>
                    <?php echo form_close(); ?>
                </div>
            </div>
        </div>
    </div> </div> <?php $this->load->view('layout/footer'); ?>    

assets/img/logo.png“alt=”“/>
请登录
记得我吗

您调用了错误的函数以获得闪存错误

尝试在控制器上设置闪存错误:-

$this->session->set_flashdata('error', 'Invalid username/password');
在视图上获取错误数据:-

<?php echo $this->session->flashdata('error');?>


更多信息:-

基本上,当我们使用
set\u flashdata method()
设置任何名称-值对时

一旦使用读取它,它将自动从会话中丢弃/删除
$this->session->flashdata();
方法

我100%同意拉凯什的观点

$this->session->set_flashdata('error', 'Invalid username/password');