Php 为什么在视图中的显示控制器数组中获取错误未定义变量?

Php 为什么在视图中的显示控制器数组中获取错误未定义变量?,php,codeigniter,Php,Codeigniter,我的控制器: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class VerifyAppointment extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('appointment_mod

我的控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class VerifyAppointment extends CI_Controller {

    function __construct()
    {
        parent::__construct();


        $this->load->model('appointment_model','',TRUE);

    }

    function index()
    {
        $this->load->library('form_validation');

        $this->form_validation->set_rules('rdatetimepicker', 'Appointment date', 'trim|required|xss_clean');

        if($this->form_validation->run() == FALSE)
        {
            $this->load->view("pages/appointment");
        }
        else
        {
            $this->appointment_model->insert();
            $data['posts'] = "hih";

            $this->load->view('pages/appointment',$data);
        }

    }

}

您得到错误,因为当您初始化的验证条件为
$data['posts']=”时,视图未获得
$posts

 function index()
        {
            $this->load->library('form_validation');

        $this->form_validation->set_rules('rdatetimepicker', 'Appointment date', 'trim|required|xss_clean');

        if($this->form_validation->run() == FALSE)
        {
           $data['posts']="";  //declare posts here              
          $this->load->view('pages/appointment',$data);

        }
        else
        {
            $this->appointment_model->insert();
            $data['posts'] = "hih";

            $this->load->view('pages/appointment',$data);
        }

    }
或者您可以在查看之前检查数组,如下所示;如果您不想更改控制器

<?php
    if(isset($posts))
    echo $posts;
?>

<?php
    if(isset($posts))
    echo $posts;
?>