मैं समर्थक नहीं हूं, लेकिन PHP के चारों ओर अपना रास्ता जानता हूं, मैं कोडनिर्देशक के लिए नया हूं।कोडनिर्देशक फॉर्म पोस्ट और सत्यापन
कि यह शिक्षण सामग्री के माध्यम से चल रहा है: http://net.tutsplus.com/articles/news/codeigniter-from-scratch-day-5-crud/
ठीक है, तो मैं एक पृष्ठ है कि उपयोगकर्ताओं को सूचीबद्ध करता है, उन के नाम पर क्लिक एक संपादन पृष्ठ पर चला जाएगा, के उस पेज से किया जा रहा यूआरएल है: index.php उपयोगकर्ताओं// संपादित करें/1 (जहां 1 उपयोगकर्ता आईडी है)
संपादन पृष्ठ पर एक रूप है, इस फ़ॉर्म में कुछ भाग होते हैं, प्रत्येक भाग डीबी में विभिन्न तालिकाओं से पॉप्युलेट होता है। तो संपादन के लिए मेरी नियंत्रक इस प्रकार है:
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-> रन() == गलत) इसका सही हिस्सा है, अगर फॉर्म में डेटा है, तो यह इंडेक्स को पास करता है और रीडायरेक्ट करता है, अगर मैं रिक्त नाम छोड़ देता हूं तो यह संपादन पृष्ठ को सही तरीके से संभाल नहीं सकता है, या मुझे नहीं पता, कुछ सही नहीं है .. मुझे लगता है क्योंकि यह पृष्ठ है पोस्ट सरणी का उपयोग करके पुनः लोड किया जा रहा है, और $ संपादित नहीं किया गया जैसे मैंने फ़ंक्शन एडिट() में किया था।
प्रपत्र पेज, जहां यह validation_errors प्रदर्शित होना चाहिए वापस, अपने प्रदर्शन से:
नाम फ़ील्ड आवश्यक है।
यह सही है, है, तथापि, क्षेत्रों है कि पहले से भरा जाना चाहिए के बाकी के लिए अपने प्रदर्शन के पीएचपी त्रुटि:)
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: userUserName
Filename: pages/users_edit.php
Line Number: 50
हाँ, इस के साथ प्रपत्र पृष्ठ लोड करना = "नाम"> – Mark
कृपया सुनिश्चित करें कि आपने "serUserName" चर परिभाषित किया है? – Suleman
'$ data_user' में, यदि आप एक उपयोगकर्ता के लिए डेटा प्राप्त करते हैं, तो उस पर लूप न करें। –