2013-07-22 5 views
0

После выполнения учебника CodeIgniter для формы (http://ellislab.com/codeigniter/user-guide/libraries/form_validation.html) я не могу для жизни во мне заставить ее работать.Неопределенная функция validation_errors - CodeIgniter

Все, что я, кажется, получаю: Фатальная ошибка: Вызов неопределенной функции validation_errors() в /Applications/XAMPP/xamppfiles/htdocs/test_f/application/views/pages/contact_us.php на линии 1

Я использую последнюю версию CodeIgnitor (2.1.4)

контроллер

<?php 
class Form extends CI_Controller { 

public function index() { 
    $this->load->helper(array('form', 'url')); 

    $this->load->library('form_validation'); 

    if ($this->form_validation->run() == FALSE) { 
     $this->load->view('pages/contact_us'); 
    } else { 
     $this->load->view('pages/formsuccess'); 
    } 
} 
    } 
?> 

Посмотреть

<?php echo validation_errors(); ?> 

<?php echo form_open('form'); ?> 

<h5>Username</h5> 
<input type="text" name="username" value="" size="50" /> 

<h5>Password</h5> 
<input type="text" name="password" value="" size="50" /> 

<h5>Password Confirm</h5> 
<input type="text" name="passconf" value="" size="50" /> 

<h5>Email Address</h5> 
<input type="text" name="email" value="" size="50" /> 

<div><input type="submit" value="Submit" /></div> 

</form> 

Маршруты

$route['default_controller'] = 'pages/view'; 
$route['(:any)'] = 'pages/view/$1'; 
$route['404_override'] = ''; 
+0

Где ваш контроллер «Форма» сидит в иерархии вашего сайта - также какой URL-адрес вы нажимаете? – devrooms

+0

Я запускаю это локально. Вот иерархия: http://d.pr/i/BReY – PaulEx10

+0

Что находится внутри вашего .htaccess? Обычно это должно быть в корневой папке. – SasaT

ответ

1

Looks как проблемы с маршрутами. Кажется, вы все маршрутизируете на контроллер под названием pages.

Если удалить (:any) маршрут, а затем ударилась форму контроллера, перейдя в:

index.php/форма

или

добавить следующий маршрут до того (:any)

$route['form'] = "form"; 

Затем повторите попытку.

+0

Отлично, что получилось, спасибо. Как получилось, что он формируется, а не contact_us? Потому что контроллер называется «формой»? И как я могу предотвратить ошибку, когда я перехожу к «contact_us». – PaulEx10

+1

да, по умолчанию он будет маршрутизироваться в / так/form вызовет индекс метода в классе контроллера формы./form/blah вызовет метод blah в классе контроллера Form. – devrooms

+0

Я только что изменил form.php на contact_us.php, поэтому я могу использовать этот url, но я, кажется, получаю ту же самую ошибку, когда я перехожу на «contact_us» - любые идеи? – PaulEx10

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