[CodeIgniter] วิธีสร้างฟอร์มด้วย php framework

form_CI_1.jpg

หลังจากที่เริ่มศึกษาเรื่องการสร้างฟอร์มของ php framework ด้วย CodeIgniter ก็พบว่าการเริ่มต้นนั้นไม่ยาก เพราะว่ามีเอกสารให้อ่านเยอะเหมือนกัน โดยเฉพาะอย่างยิ่งที่ คู่มือการใช้งาน CodeIgniterแต่ตัวอย่างที่เค้ามีมันยังไม่ค่อยชัดเท่าไหร่ แบบว่าพอเราทำแบบฟอร์มที่ต้องใช้งานจริงๆ ที่ต้องมีหลายฟิลด์หลายตัวเลือกแล้ว บางทีการที่ต้องมาเริ่มอะไรที่ไม่เคยชินก็ทำให้ต้องใช้เวลาพอสมควร วันนี้ก็เลยจะมารวบรวมและสรุปข้อมูลที่คนที่คิดจะสร้างฟอร์มด้วย CodeIgniter จะได้เริ่มต้นง่ายขึ้นค่า

  • สรุปหัวข้อเกี่ยวกับการสร้างฟอร์มด้วย CodeIgniter

  1. ลักษณะการวางส่วนที่เป็นโค้ดของฟอร์มมีทั้งวางใน controller และ view ซึ่งแล้วแต่คนถนัด แต่ออฟชอบวางในส่วนของ controller มากกว่าเพราะว่าโค้ดอ่านง่ายกว่า
    - ตัวอย่างการวางโค้ดใน controller

    class Login extends Controller {
    
    	function Login()
    	{
    		parent::Controller();
    	}
    
    	function index()
    	{
    		$this->load->library('form'); // first of all we have to load the library
    
    		$this->form // then we fill the form with elements
    		->open('login')
    		->text('username', 'Your Username', 'trim|alpha_numeric|max_length[30]|xss_clean')
    		->pass('password', 'Your Password', 'trim|alpha_numeric|max_length[20]|xss_clean')
    		->indent(200)
    		->checkbox('loggedin', 'yes', 'I want to stay logged-in')
    		->submit()
    		->reset()
    		->onsuccess('redirect', 'login/success');
    
    		$data['form'] = $this->form->get(); // this returns the validated form as a string
    		$data['errors'] = $this->form->errors;  // this returns validation errors as a string
    
    		$this->load->view('login_view', $data);
    	}
    
    	function success()
    	{
    		$this->load->view('login_success');
    	}
    }
    

    - ตัวอย่างการวางโค้ดใน view

    
    
    ">
    
    
    
    
    
    < ? echo form_open('books/input'); ?>
    < ? echo $title; ?>:
    < ? echo form_input('title'); ?>
    
    < ? echo $author; ?>:
    < ? echo form_input('author'); ?>
    
    < ? echo $publisher; ?>:
    < ? echo form_input('publisher'); ?>
    
    < ? echo $year; ?>:
    < ? echo form_dropdown('year',$years); ?>
    
    < ? echo $available; ?>:
    < ? echo form_checkbox('available','yes',TRUE); ?>
    
    < ? echo $summary; ?>:
    < ? echo form_textarea('summary'); ?>
    
    < ? echo form_submit('mysubmit','Submit!');  ?>
    < ? echo form_close(); ?>
    
    
    
    
    
  2. การสร้างฟอร์มทำได้ 2 แบบคือเขียน html แบบทั่วไปกับใช้ Form Helper ซึ่งเป็นฟังก์ชั่นที่ช่วยในการสร้างฟอร์มของ CodeIgniter
    - ตัวอย่างการสร้างฟอร์มแบบทั่วไป

    < !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    
    
    
    
    
    
    
    
    

    < ?php echo $title; ?>

    < ?php echo $message; ?>
    ID
    Name* < ?php echo $this->validation->name_error; ?>
    Gender* validation->set_radio('gender', 'M'); ?>/> M validation->set_radio('gender', 'F'); ?>/> F < ?php echo $this->validation->gender_error; ?>
    Date of birth (dd-mm-yyyy)* calendar < ?php echo $this->validation->dob_error; ?>
     
    < ?php echo $link_back; ?>

    - ตัวอย่างการสร้างฟอร์มด้วย Form Helper

    function edit()
        {
            $this->load->library('form'); 
    
            $this->form->open('project/edit', 'project_edit_form')
                        ->fieldset('Project')
                        ->text('name', 'Project Name', 'max_length[40]')
                        ->text('description', 'Description', 'max_length[40]')
                        ->textarea('notes', 'Notes', 'trim', "Write your project notes here")
                        ->indent(150)
                        ->submit('Submit', 'sub')
                        ->onsuccess('redirect', 'project/index')
                        ->nobr(); 
    
            $this->data['form'] = $this->form->get();
            $this->data['errors'] = $this->form->errors; 
    
            $this->load->view('project/edit', $this->data );
        }
    
  3. รายละเอียดหลักของการใช้งานฟอร์มอยู่ที่  Form Generation Library
  • Form generator สำหรับ CodeIgniter framework

FormIgniter.jpg

การใช้ FormIgniter นั้นก็ให้กรอกจำนวนฟิลด์ที่ต้องการและกำหนดค่าตามใจชอบจากนั้นเวบนี้ก็จะสร้างฟอร์มออกมาให้เลยค่า

  • แหล่งเรียนรู้เรื่องฟอร์ม

CodeIgniter – Form: Creating Skeleton
CodeIgniter – Form: File Structure
CodeIgniter – Form: Creating Layout Code
CodeIgniter – Form: Creating Menu Library
CodeIgniter – Form: Putting Text at Header and Footer
CodeIgniter – Form: Centralizing $data
CodeIgniter – Form: Adding CSS
CodeIgniter – Form: Creating Form HTML
CodeIgniter – Form: Creating Beautiful Form Code
CodeIgniter – Form: CodeIgniter HTML Style
CodeIgniter – Form: Preparing Table at Database
CodeIgniter – Form: Creating Insert Data
CodeIgniter – Form: Creating List Data Use Table Library
CodeIgniter – Form: Creating Table List Without Table Library
CodeIgniter – Form: Using URL Helper
CodeIgniter – Form: Showing Single Data for Form Edit
CodeIgniter – Form: Something Happen With Form Parameters
CodeIgniter – Form: Updating Data
CodeIgniter – Form: Deleting Data

Popularity: 5% [?]

เรื่องที่เกี่ยวข้อง

One Comment

  • September 24, 2009 | Permalink | Reply

    ขอบคุณมากเลยค่ะ เข้าใจง่ายดี

Leave a comment

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Your email is never shared. Required fields are marked *

Web Analytics