2015-03-30 2 views
0

Я думаю, что теперь я получаю страницу, но на странице отображается пробел. Url который я достигаю это имя файла http://localhost/BookLearn/CodeIgniter-2.2.1/index.php/startКак получить доступ к модели MVC, созданной мной в CodeIgniter


мой контроллер является start.php. И имя файла My View - testview.php.

Контроллер

<?php 
    class Start extends CI_Controller 
    { 
    var $base; 
    var $css; 
    function Start() 
    { 
     date_default_timezone_set('UTC'); 
     parent::CI_Controller(); 
     $this->base = $this->config->item('base_url'); 
     $this->css = $this->config->item('css'); 
    } 

    function hello() 
    { 
     $data['css'] = $this->css; 
     $data['base'] = $this->base; 
     $data['mytitle'] = "Using CI to build a Site"; 
     $data['mytext'] = "Hello now Can we do some Dynamic Processing. <br /> And Ah! U Know, This Is Dynamic!!"; 
     return $this->load->view('testview', $data); 

    } 
    } 
?> 

Посмотреть

<html> 
    <head> 
    <base href= <?php echo "$base"; ?> /> 
    <link rel="stylesheet" type="text/css" href="<?php echo "$base/$css"; ?>" /> 

    </head> 
    <body> 
    <h1> <?php echo $mytitle; ?> 
    test</h1> 
    <p class="test"> <?php echo $mytext; ?> </p> 
    </body> 
</html> 
+0

Я не уверен, что вы пытаетесь сделать ... Но для base_url, почему вы так называете это? Почему бы не использовать хелпер URL и использовать 'base_url()'? – CodeGodie

+0

@CodeGodie Can U Пожалуйста, помогите! – Ikari

+0

Проверьте эту страницу: https://ellislab.com/codeigniter/user-guide/helpers/url_helper.html – CodeGodie

ответ

0

Решение 1

Вы просто объявление d date_default_timezone_set('America/Los_Angeles'); ваш Start() функция.

вы можете использовать свой часовой пояс, заменив «Америка/Los_Angeles»

Решение 2

Вам может понадобиться поместить часовой пояс в конфигурации в файле php.ini. В файле php.ini должен иметь блок, как удар:

[Date] ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone = America/New_York

Если нет, добавьте этот блок в вашем php.ini (вместо часового пояса на вас), убедитесь, чтобы перезапустить HTTPd (перезапуск службы HTTPd).

List of Supported Timezones

0

Это то, что я хотел бы сделать:

config.php (приложение/Config/config.php)

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME']'; 

Контроллер:

class Start extends CI_Controller { 

    private $css; 

    function __construct() { 
     $this->css = $this->config->item('css'); 
    } 

    function hello() { 
     $data['css'] = $this->css; 
     $data['mytitle'] = "Using CI to build a Site"; 
     $data['mytext'] = "Hello now Can we do some Dynamic Processing. <br /> And Ah! U Know, This Is Dynamic!!"; 
     $this->load->view('testview', $data); 
    } 

} 

Вид:

<html> 
    <head> 
     <base href="<?= base_url(); ?>" /> 
     <link rel="stylesheet" type="text/css" href="<?= $css; ?>" /> 

    </head> 
    <body> 
     <h1><?= $mytitle; ?> test</h1> 
     <p class="test"><?= $mytext; ?> </p> 
    </body> 
</html> 
0

Вы должны определить функцию индекса в каждом классе CI

Или вызвать функцию класса по имени, как: ci_root/index.php/класс/функция

http://localhost/BookLearn/CodeIgniter-2.2.1/index.php/start/hello

Вам необходимо использовать parent::__construct();, заменив parent::CI_Controller();

<?php 
class Start extends CI_Controller { 
var $base; 
var $css; 
    function Start() 
    { 
     date_default_timezone_set('UTC'); 
     parent::__construct(); 
     $this->base = $this->config->item('base_url'); 
     $this->css = $this->config->item('css'); 
    } 

    function index(){ 
     $this->hello(); 
    } 

    function hello() 
    { 
     $data['css'] = $this->css; 
     $data['base'] = $this->base; 
     $data['mytitle'] = "Using CI to build a Site"; 
     $data['mytext'] = "Hello now Can we do some Dynamic Processing. <br /> And Ah! U Know, This Is Dynamic!!"; 
     return $this->load->view('testview', $data); 

    } 
} 
?> 
Смежные вопросы