簡體   English   中英

如何解決codeigniter中的錯誤?

[英]how to solve the error in codeigniter?

這是控制器submenu.php

<?php
if (!defined('BASEPATH'))
    exit('No direct script access allowed');
class Submenu extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');
        $this->load->model("submenu_model");
    }
    public function index()
    {
        $arr['page'] = 'submenu';
        $qry ='Select * from subcategory';
        $arr['submenu'] = $this->db->query($qry)->result_array();
        //$data['view']='edit';

        $this->load->view('admin/vwAddSubmenu',$data); 
    }
    public function add_submenu()
    {
        if(isset($_POST['submit']))
        {
            $name = mysql_real_escape_string($_POST['name']);
            $url = $_POST['url'];
            $cat = $_POST['category'];
            $result = $this->submenu_model->insert_subcategory($name,$url,$cat);
            if(isset($result))
            {
                echo 'insert successfully';
                redirect('admin/submenu/');
            }
            else
            {
                echo 'insert Failed';
            }
        }
        $arr['page'] = 'submenu';
        $data['category'] = $this->submenu_model->get_category();
        $this->load->view('admin/vwManageSubmenu',$arr);
        $this->load->view('admin/vwAddSubmenu',$arr); 
        //$this->load->view('admin/vwAddSubmenu',$arr,$data);
    }
} 

這是視圖

<form method="post" action="<?php echo base_url() ?>admin/submenu/add_submenu">
    <input type="text" name="name" value="Sub Category Name">
    <input type="text" name="url" value="Sub Category URL">
    <select name="category">
    <?php
    foreach ($category as $item)
    { ?>
        <option id="<?php echo $item['id'] ?>"><?php echo $item['name'] ?></option>
    <?php } ?>
    </select>
    <input type="submit" name="submit" value="Add Sub Category">
</form>

這是模型submenu_model.php

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class Submenu_model extends CI_Controller
{
    public function __construct()
    {
        parent::__construct();
        $this->load->library('form_validation');
        if (!$this->session->userdata('is_admin_login'))
        {
            redirect('admin/home');
        }
    }
    public function index()
    {
        $arr['page'] = 'submenu';
        $qry ='Select * from subcategory';
        $arr['submenu'] = $this->db->query($qry)->result_array();
        //$data['view']='edit';
        $this->load->view('admin/vwManageSubmenu',$arr);
    }
    public function add_submenu()
    {
        if(isset($_POST['submit']))
        {
            $name = mysql_real_escape_string($_POST['name']);
            $url = $_POST['url'];
            $cat = $_POST['category'];
            $result = $this->submenu_model- 
            >insert_subcategory($name,$url,$cat);
            if(isset($result))
            {
                echo 'insert successfully';
                redirect('admin/submenu/');
            }
            else
            {
                echo 'insert Failed';
            }
        }
        $arr['page'] = 'submenu';
        $data['category'] = $this->submenu_model->get_category(); 
        $this->load->view('admin/vwAddSubmenu',$data); 
        //$this->load->view('admin/vwAddSubmenu',$arr,$data);
    }
} 

現在在下拉菜單的http:// localhost / admin / admin / submenu中顯示錯誤

遇到PHP錯誤嚴重性:注意消息:未定義變量:類別文件名:admin / vwAddSubmenu.php行號:48遇到PHP錯誤嚴重性:警告消息:為foreach()提供了無效的參數文件名:admin / vwAddSubmenu.php行編號:48解決方案是什么?

在控制器中:

  <?php

     if (!defined('BASEPATH')) exit('No direct script access allowed');
 class Submenu extends CI_Controller
 {
    public  function __construct()
   {
     parent::__construct();
     $this->load->library('form_validation');
     $this->load->model("submenu_model");
   }

  public  function index()
  {
   $arr['page'] = 'submenu';
   $qry = 'Select * from subcategory';
   $arr['submenu'] = $this->db->query($qry)->result_array(); 
   $this->load->view('admin/vwAddSubmenu', $arr); //passing data to view
   }

 public function add_submenu()
{
   if (isset($_POST['submit']))
   {
     $name = mysql_real_escape_string($_POST['name']);
     $url = $_POST['url'];
     $cat = $_POST['category'];
     $result = $this->submenu_model->insert_subcategory($name, $url, $cat);
  if (isset($result))
  {
    echo 'insert successfully';
    redirect('admin/submenu/');
    }
    else
    {
    echo 'insert Failed';
    }
  }

$arr['page'] = 'submenu';
$arr['category'] = $this->submenu_model->get_category();
//$this->load->view('admin/vwManageSubmenu', $arr); //loading two views
$this->load->view('admin/vwAddSubmenu', $arr);   //passing data to view
}
}

在模型中-應該是這樣的

class submenu_model extends CI_Model {

function __construct()
{
    // Call the Model constructor
    parent::__construct();
}

function insert_subcategory()
{
    //code for insert
}

function get_category()
{
    $query = $this->db->get('category_table');
    return $query->result();
}

請參閱https://ellislab.com/codeigniter/user-guide/general/models.html

在控制器$ arr ['submenu']子菜單中,子菜單是傳遞給視圖的變量。

在視圖中:

 <select name="category">
  <?php
    foreach ($submenu as $item)
    {
  ?>
  <option id="<?php echo $item['idsubcategory']; ?>">
  <?php echo $item['namesubcategory']; ?></option>
 <?php } ?>
 </select>
     <?php


        class Submenu_model extends CI_Model {


          function __construct(){
           parent::__construct();
             $this->load->database();
               }

            function get_category()
             {
              $query = $this->db->get('category');
              return $query->result();
               }

               function insert_subcategory($name,$url,$cat)
                   {
                    $data = array(
                 'namesubcategory' => $name,
                 'urlsubcategory' => $url ,
                  'idcategory' => $cat
                     );

              $this->db->insert('subcategory', $data);
                }

                  }  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM