2015-12-08 7 views
0

Я изучаю PHP Codeigniter, особенно в Form-Validation. Весь мой исходный код скопирован с their website и ничего не изменилось (это просто копировать-вставить). Эта проверка формы кажется довольно простой. Однако каждый раз, когда я нажимаю кнопку «отправить», появляется пустая страница. Коды:CodeIgniter Simple Form Validation Return Blank Страница

MyForm.php(Просмотр)

<html> 
<head> 
<title>My Form</title> 
</head> 
<body> 

<?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> 

</body> 
</html> 

FormSuccess.php (Success Page):

<html> 
<head> 
<title>My Form</title> 
</head> 
<body> 

<h3>Your form was successfully submitted!</h3> 

<p><?php echo anchor('form', 'Try it again!'); ?></p> 

</body> 
</html> 

И Форма .php (контроллер):

<?php 

class Form extends CI_Controller { 

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

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

      $this->form_validation->set_rules('username', 'Username', 'required'); 
      $this->form_validation->set_rules('password', 'Password', 'required', 
        array('required' => 'You must provide a %s.') 
      ); 
      $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required'); 
      $this->form_validation->set_rules('email', 'Email', 'required'); 

      if ($this->form_validation->run() == FALSE) 
      { 
        $this->load->view('MyForm'); 
      } 
      else 
      { 
        $this->load->view('FormSuccess'); 
      } 
    } 
} 

Если мой код работает, после того, как я нажмите кнопку отправки, то он должен идти к успеху Страница (formsuccess.php), но теперь вернуть пустую страницу.

форме SS:

enter image description here

Я попытался изменить веб-сервер для XAMPP, но по-прежнему сталкиваются с той же проблемой ...

Благодаря ранее, за вашу помощь. ..

+0

вы работаете в PHP с сервера, как WAMP ? –

+0

@Victoria Да, я запускаю php с помощью wamp ... – anunixercoder

+0

Измените имя файла на 'form.php' – Saty

ответ

0

После проб и ошибок, я нашел решение. Here're мои изменения в код:

контроллер, form.php

<?php 

class Form extends CI_Controller { 

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

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

     $this->form_validation->set_rules('username', 'Username', 'required'); 
     $this->form_validation->set_rules('password', 'Password', 'required', 
       array('required' => 'You must provide a %s.') 
     ); 
     $this->form_validation->set_rules('passconf', 'Password Confirmation', 'required'); 
     $this->form_validation->set_rules('email', 'Email', 'required'); 

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

View, MyForm.php

<?php 
defined('BASEPATH') OR exit('No direct script access allowed'); 
?> 
<!DOCTYPE html> 
<html> 
<head> 
<title>My Form</title> 
</head> 
<body> 

<?php echo validation_errors(); ?> 

<form action="<?php base_url();?>form" method="POST"> 

<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> 

</body> 
</html>