我不是一個職業球員,但知道我周圍的PHP的方式,我是新來的笨。笨形式後和驗證
正在經歷這些教程:http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-5-crud/
OK,所以我有一個頁面,其中列出的用戶,點擊用戶名稱將進入編輯頁面,該頁面存在的網址:index.php文件/用戶/編輯/ 1(其中1是用戶ID)
在編輯頁面是一種形式,這種形式的包含幾個部分,每個部分被從在DB不同表填充。所以,我對編輯控制器如下:
function edit() {
//load model
$this->load->model('users_model');
//assign user data from DB
$data['data_user'] = $this->users_model->getUser($this->uri->segment(3));
//get users Password, using username from above
$data['data_user_password']= $this->users_model->getUserPassword($data['data_user'][0]->UserName);
$data['page_content'] = 'pages/users_edit';
$this->load->view('template/template', $data);
}
注意: $data['data_user']
包含如姓名,用戶名,電子郵件 $data['data_user_password']
含有用戶密碼從不同的表
然後我可以填充表單上的用戶數據users_edit.php,這一切工作正常。 我做訪問這些數據如下:
if (is_array($data_user)) {
foreach($data_user as $user)
{
$userID = $user->id;
$userName = $user->Name;
$userUserName = $user->UserName;
$userMail = $user->Mail;
$userDepartment = $user->Department;
$userWorkPhone = $user->WorkPhone;
$userHomePhone = $user->HomePhone;
$userMobile = $user->Mobile;
}
}
//user password
if (is_array($data_user_password)) {
foreach($data_user_password as $user)
{
$userPassword = $user->value;
}
}
Name:
<?php echo form_input('name', set_value('name', $userName), 'id="name" class="inputLong"'); ?>
當我發佈,我將數據發送到:的index.php /用戶/更新
我給這頁控制器到目前爲止是:
function update() {
echo '<pre>';
print_r($_POST);
echo '</pre>';
//exit();
$this->load->library('form_validation');
$this->form_validation->set_rules('name', 'Name', 'trim|required');
if ($this->form_validation->run() == FALSE)
{
$this->load->view('pages/users_edit');
}
else
{
$this->index();
}
}
現在,我只是在用戶測試驗證的「名稱」,其中表單輸入=名ID =名稱
我想我不會處理,如果($這個 - > form_validation-> run()== FALSE它的)部分正確,如果表單包含數據,它傳遞和重定向到索引,如果我離開名稱空白,要麼不能正確處理編輯頁面,或者我不知道,什麼心不是正確的。我認爲它是因爲頁面採用接線柱陣列,就像我在功能上編輯並沒有傳遞$數據()被重新加載。
回到表單頁面,它應該顯示VALIDATION_ERRORS,其顯示:
是必需的名稱字段。
這是正確的,但是,應該預先填充的字段的其餘部分,它的顯示PHP錯誤:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: userUserName
Filename: pages/users_edit.php
Line Number: 50
是,表單頁面加載此: <輸入ID =「名稱」級=「inputLong」類型=「文本」值=「馬克」的名字=「name」> – Mark
請確定你已經定義了「serUserName」變量? – Suleman
in'$ data_user',如果您收到一個用戶的數據,則不要循環。 –