저는 프로가 아니지만 PHP 주위에있는 길을 알고 있습니다. 저는 Codeigniter를 처음 사용합니다.Codeigniter 양식 게시 및 유효성 확인
이 튜토리얼을 통해 진행되고 : http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-5-crud/
좋아, 그럼 내가 편집 페이지로 이동합니다 사용자 이름을 클릭하여 사용자를 나열하는 페이지, 해당 페이지의 존재의 URL을 가지고 : 사용자/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();
}
}
, 난 그냥 사용자에 대한 검증을 테스트하고 있습니다 "이름"여기서 폼 입력 = 이름 아이디 = 이름
내가 처리하고 있지 않다 생각하는 경우 ($ this-> form_validation-> run() == FALSE) 올바르게 양식의 일부가 데이터를 포함하고 있으면 통과하고 페이지로 리디렉션됩니다. 이름을 비워두면 편집 페이지가 제대로 처리되지 않거나 잘 모릅니다. 뭔가 잘못되었습니다. 페이지가 post 배열을 사용하여 다시로드되고 function edit()에서했던 것처럼 $ 데이터를 전달하지 않습니다. 다시는 VALIDATION_ERRORS을 표시해야하는 양식 페이지에
, 그 전시 : 이름 필드가 필요.
이는 보여주는 PHP 오류, 미리 입력해야하는 필드의 나머지 그러나, 올바른 : 유효성 검사 후) 함수 업데이트 (내부
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: userUserName
Filename: pages/users_edit.php
Line Number: 50
예,이와 양식 페이지를로드 할 = "name"> – Mark
"serUserName"변수를 정의했는지 확인하십시오. '$ data_user'에있는 – Suleman
의 경우, 한 사용자의 데이터를 수신 한 경우에는 루프하지 마십시오. –