2016-08-12 5 views
0

Я изучаю codeigniter, но ушел в беду. Я создал папку в htdocs и назвал ее как ci_beginning, тогда я создал контроллер с именем hello2 в папке контроллера и you_view2 в папке просмотра. Код для моего контроллера:Не удается получить доступ к моей веб-странице на codeigniter

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

class Hello2 extends CI_Controller{ 

    // declare variables or class properties 
    var $name; 
    $var $color: 

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

     // give default value 
     $this->name = "Hello"; 
     $this->color = "red"; 
    } 

    function you(){ 
     $data['name']=$this->name; 
     $data['color']=$this->color; 

     // define variable sent to views 
     $this->load->view('you_view2', $data); 
    } 
} 

код с моей точки зрения:

<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Beginning Codeigniter</title> 
</head> 
<body> 
    <h1 style="color:<?php echo $color ?>">Hello <?php echo $name; ?></h1> 
</body> 
</html> 

Я пытаюсь получить доступ к нему, используя это в моем браузере:

http://localhost/ci_beginning/index.php/hello2/you 

Это дает мне страницу 404 не найдена ошибка. Пожалуйста, скажите мне, что я делаю неправильно. Если вы можете показать мне, как сделать это проще, я был бы очень признателен. Спасибо.

+0

Попробуйте использовать модификаторы доступа для свойств и методов класса. Подробнее об этом вы можете найти здесь: http://php.net/manual/en/language.oop5.visibility.php. Это считается хорошей практикой, улучшает читаемость вашего кода и следует [PSR-2] (http://www.php-fig.org/psr/psr-2/) –

ответ

3

Если вы используете Codeigniter 3, убедитесь, что имя файла должно начинаться с заглавной буквы и убедитесь, что имя файла совпадает с именем вашего контроллера, и в этом случае оно должно быть Hello2.php в вашей папке controllers.

Также есть ошибка в строке,

$var $color: 

Это должно быть

var $color; 
+0

Спасибо, что указали это, но я все еще могу " t получить доступ к странице you_view2. – Ibanez1408

+0

Является ли 'http: //localhost/ci_beginning/index.php working'? и у вас есть 'htaccess' в папке ci_beginning –

+0

Да. по умолчанию - codeigniter. – Ibanez1408

Смежные вопросы