【问题标题】:How can I load controller in Codeigniter?如何在 Codeigniter 中加载控制器?
【发布时间】:2015-02-16 00:26:12
【问题描述】:

控制器没有加载页面。我试图解决这个问题,但我仍然收到错误404 Page Not Found。这是我的代码:

config.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config['base_url'] = 'http://localhost/latihan/CI/2_membuat_form/';
$config['index_page'] = 'index.php';
?>


路由.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$route['default_controller'] = 'siswa';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
?>


siswa.php(在文件夹控制器)

<?php 
class siswa
extends CI_Controller{

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

    function tambah_siswa(){
        $this->load->helper('form');
        $this->load->view('form_tambah_siswa');
    }   
}
?>


form_tambah_siswa.php(在文件夹视图中)

<html>
    <head>
        <title>Form Registrasi DIMASEDU INSTITUE </title>
        <style>
        .elegant-aero {
            margin-left:auto;
            margin-right:auto;

            max-width: 500px;
            background: #D2E9FF;
            padding: 20px 20px 20px 20px;
            font: 12px Arial, Helvetica, sans-serif;
            color: #666;
        }
        .elegant-aero h1 {
            font: 24px "Trebuchet MS", Arial, Helvetica, sans-serif;
            padding: 10px 10px 10px 20px;
            display: block;
            background: #C0E1FF;
            border-bottom: 1px solid #B8DDFF;
            margin: -20px -20px 15px;
        }
        .elegant-aero h1>span {
            display: block;
            font-size: 11px;
        }

        .elegant-aero label>span {
            float: left;
            margin-top: 10px;
            color: #5E5E5E;
        }
        .elegant-aero label {
            display: block;
            margin: 0px 0px 5px;
        }
        .elegant-aero label>span {
            float: left;
            width: 20%;
            text-align: right;
            padding-right: 15px;
            margin-top: 10px;
            font-weight: bold;
        }
        .elegant-aero input[type="text"], .elegant-aero input[type="email"], .elegant-aero textarea, .elegant-aero select {
            color: #888;
            width: 70%;
            padding: 0px 0px 0px 5px;
            border: 1px solid #C5E2FF;
            background: #FBFBFB;
            outline: 0;
            -webkit-box-shadow:inset 0px 1px 6px #ECF3F5;
            box-shadow: inset 0px 1px 6px #ECF3F5;
            font: 200 12px/25px Arial, Helvetica, sans-serif;
            height: 30px;
            line-height:15px;
            margin: 2px 6px 16px 0px;
        }
        .elegant-aero textarea{
            height:100px;
            padding: 5px 0px 0px 5px;
            width: 70%;
        }
        .elegant-aero select {
            background: #fbfbfb url('down-arrow.png') no-repeat right;
            background: #fbfbfb url('down-arrow.png') no-repeat right;
           appearance:none;
            -webkit-appearance:none; 
           -moz-appearance: none;
            text-indent: 0.01px;
            text-overflow: '';
            width: 70%;
        }
        .elegant-aero .button{
            padding: 10px 30px 10px 30px;
            background: #66C1E4;
            border: none;
            color: #FFF;
            box-shadow: 1px 1px 1px #4C6E91;
            -webkit-box-shadow: 1px 1px 1px #4C6E91;
            -moz-box-shadow: 1px 1px 1px #4C6E91;
            text-shadow: 1px 1px 1px #5079A3;

        }
        .elegant-aero .button:hover{
            background: #3EB1DD;
        }
        </style>
    </head>
    <body>
        <?php
                     echo form_open('siswa/tambah_siswa',array('class' => 'elegant-aero'));
                ?>
                <h1>Tambah Siswa
                     <span>Isikan data berikut dengan benar.</span>
                </h1>
                <label>
                     <span>Nama Siswa :</span>
                     <?php
                        echo form_input(array('id' => 'name', 'name' => 'name', 'placeholder' => 'Nama Lengkap ...'));
                     ?> 
                 </label>
                 <label>
                      <span>Alamat :</span>
                      <?php
                         echo form_textarea(array('id' => 'message', 'name' => 'message', 'placeholder' => 'Alamat . . .'));
                      ?> 
                 </label> 
                 <label>
                      <span>Jurusan :</span>
                      <?php
                         echo form_dropdown('selection', array('IPA' => 'Jurusan IPA', 'IPS' => 'Jurusan IPS'));
                      ?> 
                 </label>
                 <label>
                      <span>&nbsp;</span> 
                      <?php
                          echo form_input(array('type' => 'submit', 'class' => 'button', 'value' => 'Kirim'));
                      ?> 
                 </label> 
                      <?php
                         echo form_close();
                      ?>
    </body>
</html>

我的问题是我无法打开页面。
我应该添加什么?
我的代码可能有问题。
我真的很感激任何帮助,谢谢你

【问题讨论】:

  • 你在访问什么网址?如果是http://localhost/latihan/CI/2_membuat_form/,则您没有索引方法。试试http://localhost/latihan/CI/2_membuat_form/tambah_siswa
  • 我的程序中没有 tambah_siswa 文件夹/文件。
    那么 tambah_siswa 到底是什么?这只是功能
  • 类名和控制器文件应以大写开头。
  • 你需要一个 index() 如我的回答所示。
  • 如果您不打算修改 __construct 方法,那么您应该将其从控制器中删除。如果你打算用它做一些事情,你应该只扩展控制器。

标签: php css codeigniter


【解决方案1】:

在您的控制器上,您需要一个索引作为基础,这就是它没有拾取 page 的原因。然后一旦完成

在路线$route['default_controller'] = 'siswa';

如果在文件夹$route['default_controller'] = 'foldername/siswa';

http://www.codeigniter.com/userguide3/general/controllers.html

控制器/Siswa.php

<?php

class Siswa extends CI_Controller{

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

public function index() {
 $this->tambah_siswa();
}

function tambah_siswa(){
    $this->load->helper('form');
    $this->load->view('form_tambah_siswa');
}   
}

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 2012-12-19
    • 1970-01-01
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-07
    • 1970-01-01
    相关资源
    最近更新 更多