2
即時新的codeigniter,並嘗試解決以下問題現在幾個小時。 我嘗試在形式SET_VALUE但是當我把它我得到以下錯誤:Codeigniter - 調用未定義的函數set_value()
一個PHP錯誤遇到 嚴重性:錯誤 消息:調用未定義功能SET_VALUE() 文件名:情態動詞/ register_modal.php 行號:27 Backtrace:
當我刪除第27行的set_value()時,一切工作正常。
行號27是SET_VALUE()行:
<div class="row">
<div class="form-group">
<label class="control-label sr-only">Vorname:</label>
<div class="col-md-8 col-md-offset-2 col-xs-10 col-xs-offset-1">
<input type="text" class="form-control" name="firstname" placeholder="Vorname" value="<?php echo set_value('firstname'); ?>" size="50" />
<i class="fa form-control-feedback" aria-hidden="true"></i>
</div>
</div>
</div>
這就是我的控制器:
class Form extends CI_Controller {
public function index()
{
$this->load->helper('form');
$this->load->library('form_validation');
$this->form_validation->set_rules('firstname', 'Vorname', 'required|callback_username_check');
$this->form_validation->set_rules('surename', 'Nachname', 'required');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('password', 'Passwort', 'required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('modals/register_modal');
}
else
{
$this->load->view('modals/login_modal');
}
}
public function username_check($str)
{
if ($str == 'test')
{
$this->form_validation->set_message('username_check', 'The {field} field can not be the word "test"');
return FALSE;
}
else
{
return TRUE;
}
}
}
我還設置自動負載:
$autoload['helper'] = array('form');
您不必加載表單助手兩次。將其保留在自動加載中,僅在所有控制器中全局使用,但從控制器中刪除。此外,更改控制器的名稱以避免可能的名稱衝突,因爲CodeIgniter已經具有Form類。畢竟,autoload url helper也是。 – Tpojka
謝謝你,改變了一切,但仍然是同樣的問題。有沒有自動加載的命令? –
並不是很多,因爲在'autoload.php'中加載的所有類都在控制器之前加載。基本樣本來自文檔或不適合你? – Tpojka