មេរៀនទី៧: ​PHP- ទម្រង់ Form


នៅលើ internet (world wide web ) Form ផ្លល់នូវលទ្ធភាពេនៃការបញ្ជូននូវពត៌មានពីអ្នក ប្រើប្រាស់ពី Client ទៅកាន់ Server ។ PHPត្រូវបានរចនាឡើងដើម្បីធ្វើការជា មួយនឹងពត៌មាន ទាំងនោះនៅពេលដែល HTML forms ត្រូវបាន submit ។
1. User Input.
អ្នកប្រាកដជាចង់អោយកមវិធីរបស់អ្នកមានសកមភាព ឬ ទំនាក់ទំនងជាមួយនឹងអ្នក ប្រើប្រាស់ ក្នុង ខណៈពេលណាមួយ ។ ឧទាហរណ៍ខាក្រោមគឺជាការបង្កើតនូវ Form មួយដើម្បីទទួលនូវពត៌មានពី អ្នកប្រើប្រាស់ដូចជា first-name , last-name , date of birth , email address និង password។


Registration form


Registration Form




method=”GET”

action=”register.php” >

First-Name


Last-Name


Date of Birth








.









E-mail





Password




នៅបន្ទាត់ដែលយើងបានប្រើនូវ form tage
យើងបានប្រើនូវ get method ដែលជា attribute ដំបូងនៅក្នុង form tag ។ HTTP get method ធ្វើការបញ្ជូនទិន្នន័យពី form ទៅតាម URL ដែលធ្វើអោយទិន្ននយ័ទាំងនោះអាចបង្ហាញនៅលើ address bar របស់ browser ជាហេតុធ្វើអោយលទ្ធផលដែលបានពី form អាចត្រូវរក្សារទុកជា bookmark ។ អ្នកប្រហែលជាត្រូវប្រើ post method វិញជាការប្រសើរជាង ប្រសិនបើអ្នកចង់
ប្រើប្រាស់នូវ passwordពីព្រោះ POST ធ្វើការបញ្ជូនទិន្នន័យដែលមាននៅក្នុង form ទៅតាម body នៃ HTTP request ដូចច្នេះ ទិន្នន័យទាំងនោះមិនត្រូវបានបង្ហាញអោយឃើញជាមួយ URL ឬ ជា bookmarked នោះទេ ។ ដើម្បី processes data ពី form ដែលប្រើ get method នៅក្នុង Script អ្នកអាចប្រើជាមួយ $_GET ឬប្រសិនបើអ្នកប្រើ នូវ post method អ្នកអាចប្រើជាមួយ $_POST ឬ ប្រើ $_REQUEST អ្នកអាចប្រើបាស់បានទាំងពីរ method។
ឧទាហរណ៍ ការប្រើប្រាស់ get method នៅក្នុង script
register.php



Personal Information


Personal Information




$fname = $_GET['txtFname'];
$lname = $_GET['txtLname'];
$day = $_GET['cboDay'];
$month = $_GET['cboMonth'];
$year = $_GET['cboYear'];
$dob = $day.-$month”.-$year”;
print “”;

print “ ”;
print “First-Name :”;
print “ $fname ”;
a
print “
”; print “ ”;
print “Last-Name :”;
print “ $lame ”;
print “
”; print “
”; ?>


ខាងក្រោមគឺជាលទ្ធផលដែលទទួលបានបន្ទាប់ពី form ត្រូវបាន submit ដោយប្រើ get mehod ។ សូមពិនិត្យមើលនូវ address bar របស់ browser ដែលពត៌មានបញ្ជូនមកនោះ ត្រូវបានភ្ជាប់មកជាមួយនឹង url
a
ឧទាហរណ៍ ៤៩ ការប្រើប្រាស់ post method នៅក្នុង script
register.php


$fname = $_POST['txtFname'];
$lname = $_POST['txtLname'];
print “”;

print “ ”;
print “First-Name :”;
print “ $fname ”;
print “
”; print “ ”;
print “Last-Name :”;
print “ $lame ”;
print “
”; print “
”; ?>


អ្នកនឹងបានឃើញពីភាពខុសគ្នារវាងការប្រើប្រាស់នូវ post method និង get method នៅលើ Address bar របស់ brower និមួយៗ ។ ខាងក្រោមគឺជាលទ្ធផលដែលទទួលបានបន្ទាប់ ពី form ត្រូវបាន Submit ដោយប្រើប្រាស់នូវ post method ។
a
2. Accessing Form Input with User-Defined Arrays .
ឧទាហរណ៍ ៤៩ ផ្ដល់លទ្ធភាពអោយអ្នកទទួលនូវពត៌មានពី HTML element ដែលបាន Submit នូវតំលៃមួយសំរាប់តែelement មួយប៉ុណ្ណោះដែលនេះពុំទាន់មានលក្ខណៈគ្រប់គ្រាន់នៅឡើយនោះទេប្រសិន បើអ្នកចង់ធ្វើការជាមួយនឹង multiple select ។
ឧទាហរណ៍ ៥០
 
 
 HTML Form with a ‘select’ Element
 

 

 

Multiple Select



 


 
” multiple=”multiple”>  
 
 
 
 



 

 

យើងនឹងបង្កើត script ដើម្បីស្វែងរក input ពី “products[]” form element ដែលបង្កើត នៅបន្ទាត់ ទី 12ដោយផ្ដល់ឈោះជា array indexed ហៅថា products។ products[]គឺជា select element ដែលផ្ដល់អោយនូវជំរើសសំរាប់អ្នកប្រើប្រាស់ដោយការប្រើ option element នៅបន្ទាត់ទី ១៣ ដល់ បន្ទាត់ទី ១៧យើងនឹងបង្ហាញពីលទ្ធផលដែលអ្នកប្រើប្រាស់បានជ្រើសរើសពី form ខាងលើ ដែលបង្កើតជា array នៅក្នុង ឧទាហរណ៍ ៥១
 
 
 
  Reading Input from the form multiple select
 

 
  if ( is_array( $_POST['products'] ) )
  {
  echo “Your products choice are :
”;
  foreach($_POST['products'] as $val)
 {
  print “$val
”;
  }
  }

  ?>



នៅបន្ទាត់ទី ០៩ នៃ ឧទាហរណ៍ ៥១ យើងធ្វើការត្រួតពិនិត្យទៅលើ $_POST['products'] Element ប្រសិនបើ element នេះជា array យើងនឹង loop រាល់ធាតុនិមួយៗរបស់វានៅបន្ទាត់ទី ១០ ដើម្បី បង្ហាញជាលទ្ធផលទៅកាន់ Browser ។ អ្នកក៏អាចអនុញ្ញាតិអោយអ្នកប្រើប្រាស់ ជ្រើរើសនូវជំរើសច្រើន ដោយប្រើ check boxes ដែលត្រូវផ្ដល់នូវឈោះដូចៗគ្នាសំរាប់ element និមួយៗ ហើយភ្ជាប់ជាមួយ empty brakets ។ PHP នឹង compiles នូវអ្វីដែលអ្នកប្រើប្រាស់បាន select ទៅជា array ។ យើងនឹងធ្វើការផ្លាស់ប្ដូរពីការប្រើ select element នៅឧទាហរណ៍ខាងលើ មកប្រើ check boxes វិញដូចមានក្នុងឧទាហរណ៍ ៥២។
ឧទាហរណ៍ ៥២


HTML Form with a ‘select’ Element



Multiple Select





Cocacola
Fanta
Sprite
Merinda
Pepsi





a
multiple.php
ឧទាហរណ៍ ៥២
 
 
 
  Reading Input from the form multiple select
 

 
  if ( is_array( $_POST['products'] ) )
  {
  echo “Your products choice are :
”;
  foreach($_POST['products'] as $val)
  {
 print “$val
”;
  }
  }

  ?>

 
 
a