我正在關注如何使用Codeigniter創建登錄系統的教程。Codeigniter表單驗證打開空白頁面
我已經創建了下面的形式在我看來:
<!DOCTYPE html>
<html lang="en">
<body>
<div class="container">
<h1>Login</h1>
<?php
echo form_open('welcome/login_validation');
echo validation_errors();
echo form_label('Email: ');
echo form_input('email'); //form_input(name,value)
echo '<br />';
echo form_label('Password: ');
echo form_password('password');
echo '<br />';
echo form_submit('login_submit', 'Login'); //form_submit(name,value)
echo form_close();
?>
</div>
</body>
</html>
但是當我點擊提交按鈕,谷歌瀏覽器,它會打開一個空白頁「有關:空白」在地址欄中。
在FireFox中它具有正確的地址「......歡迎/ form_validation」,但以下消息出現:
「這個地址將被限制 此地址使用它通常用於其它目的的網絡端口而不是網頁瀏覽,Firefox取消了您的保護請求。「
在Microsoft的邊緣,它只是停留在與表單的頁面。
這裏是我的控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends CI_Controller {
/**
* Index Page for this controller.
*
* Maps to the following URL
* http://example.com/index.php/welcome
* - or -
* http://example.com/index.php/welcome/index
* - or -
* Since this controller is set as the default controller in
* config/routes.php, it's displayed at http://example.com/
*
* So any other public methods not prefixed with an underscore will
* map to /index.php/welcome/<method_name>
* @see http://codeigniter.com/user_guide/general/urls.html
*/
public function index()
{
$this->login();
}
public function login()
{
$this->load->view('login');
}
public function login_validation()
{
$this->load->library('form_validation');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('password', 'Password', 'required|md5');
if($this->form_validation->run()){
redirect('main/members');
} else{
$this->load->view('login');
}
}
public function members()
{
$this->load->view('users');
}
}
任何幫助表示讚賞。如果您需要更多信息,請告訴我,我會發布它。
感謝
編輯:我用笨3.0.3
變化'回聲form_open('歡迎/ ''''echo'form_open('welcome/login_validation');'你的控制器中不存在這樣的'form_validation'方法。 – Saty
@Saty我改變了這一點,但我仍然遇到同樣的問題。 – Ddrossi93
@ Ddrossi93你的form_open可以添加一個index.php,如果你沒有通過htaacess關閉它,請嘗試使用這個form_open(base_url()。'welcome/login_validation'); –