មេរៀនទី៧: 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។
<html><head>
<title>Registration form </title>
</head>
<body>
<CENTER>
<h2>Registration Form</h2>
<hr width=”50%”>
<form method=”GET” action=”register.php” >
<table>
<tr><td>First-Name</td>
<td><input type=”Text” name=”txtFname”></td>
</tr>
<tr><td>Last-Name</td>
<td><input type=”Text” name=”txtLname”></td>
</tr>
<tr><td>Date of Birth</td>
<td>
<Select name=”cboday”>
<option value=”01″>01</Option>
<option value=”02″>02</Option>
<option value=”03″>03</Option>
</select>
<Select name=”cbomonth”>
<option value=”01″>Jan</Option>
<option value=”02″>Feb</Option> .
<option value=”03″>Mar</Option>
</select>
<Select name=”cboyear”>
<option value=”1980″>1980</Option>
<option value=”1981″>1981</Option>
<option value=”1982″>1982</Option>
<option value=”1983″>1983</Option>
</select>
</tr>
<tr><td>E-mail</td>
<td> <input type=”text” name=”txtemail”></td>
</tr>
<tr><td align=right colspan=2> <input type=”submit” value=”Submit”>
</td>
</tr>
<tr><td>Password</td>
<td> <input type=”password” name=”txtpwd” size=22></td>
</tr>
</table>
</body> </html>
នៅបន្ទាត់ដែលយើងបានប្រើនូវ form
tage<form method=”get” action=”register.php”> យើងបានប្រើនូវ 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 នៅក្នុង scriptregister.php
<html>
<body>
<head>
<title>Personal Information</title>
</head>
<center>
<h2>Personal Information</h2>
<hr width=50%>
<?php
$fname = $_GET['txtFname'];
$lname = $_GET['txtLname'];
$day = $_GET['cboDay'];
$month = $_GET['cboMonth'];
$year = $_GET['cboYear'];
$dob = $day.“-$month”.“-$year”;
print “<table>”;
print “<tr>”;
print “<td><b>First-Name :</b></td>”;
print “<td> $fname </td>”;

print “</tr>”;
print “<tr>”;
print “<td><b>Last-Name :</b></td>”;
print “<td> $lame </td>”;
print “</tr>”;
print “</table>”;
?>
</body>
</html>
ខាងក្រោមគឺជាលទ្ធផលដែលទទួលបានបន្ទាប់ពី form ត្រូវបាន submit ដោយប្រើ get mehod ។ សូមពិនិត្យមើលនូវ address bar របស់ browser ដែលពត៌មានបញ្ជូនមកនោះ ត្រូវបានភ្ជាប់មកជាមួយនឹង url

ឧទាហរណ៍ ៤៩ ការប្រើប្រាស់ post method នៅក្នុង script
register.php
<html>
<body>
<?php
$fname = $_POST['txtFname'];
$lname = $_POST['txtLname'];
print “<table>”;
print “<tr>”;
print “<td><b>First-Name :</b></td>”;
print “<td> $fname </td>”;
print “</tr>”;
print “<tr>”;
print “<td><b>Last-Name :</b></td>”;
print “<td> $lame </td>”;
print “</tr>”;
print “</table>”;
?>
</body>
</html>
អ្នកនឹងបានឃើញពីភាពខុសគ្នារវាងការប្រើប្រាស់នូវ post method និង get method នៅលើ Address bar របស់ brower និមួយៗ ។ ខាងក្រោមគឺជាលទ្ធផលដែលទទួលបានបន្ទាប់ ពី form ត្រូវបាន Submit ដោយប្រើប្រាស់នូវ post method ។

2. Accessing Form Input with User-Defined Arrays .
ឧទាហរណ៍ ៤៩ ផ្ដល់លទ្ធភាពអោយអ្នកទទួលនូវពត៌មានពី HTML element ដែលបាន Submit នូវតំលៃមួយសំរាប់តែelement មួយប៉ុណ្ណោះដែលនេះពុំទាន់មានលក្ខណៈគ្រប់គ្រាន់នៅឡើយនោះទេប្រសិន បើអ្នកចង់ធ្វើការជាមួយនឹង multiple select ។
ឧទាហរណ៍ ៥០
01: <html>
02: <head>
03: <title>HTML Form with a ‘select’ Element</title>
04: </head>
05:
06: <body>
07: <center>
08: <h2>Multiple Select</h2>
09:
10: <hr width=”50%”>
11: <form action=”multiple.php” method=”POST”>
12: <select name=”products[]” multiple=”multiple”>
13: <option> Cocacola </option>
14: <option> Fanta </option>
15: <option> Sprite </option>
16: <option> Merinda </option>
17: <option> Pepsi </option>
18: </select><br><br>
19: <input type=”submit” value=”submit”>
20:
21: </body>
22: </html>
យើងនឹងបង្កើត script ដើម្បីស្វែងរក input
ពី “products[]” form element ដែលបង្កើត នៅបន្ទាត់ ទី 12ដោយផ្ដល់ឈោះជា
array indexed ហៅថា products។ products[]គឺជា select element
ដែលផ្ដល់អោយនូវជំរើសសំរាប់អ្នកប្រើប្រាស់ដោយការប្រើ option element
នៅបន្ទាត់ទី ១៣ ដល់ បន្ទាត់ទី
១៧យើងនឹងបង្ហាញពីលទ្ធផលដែលអ្នកប្រើប្រាស់បានជ្រើសរើសពី form ខាងលើ
ដែលបង្កើតជា array នៅក្នុង ឧទាហរណ៍ ៥១
01: <html>02: <body>
03: <head>
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo “<b>Your products choice are :</b><br/>”;
10: foreach($_POST['products'] as $val)
11: {
12: print “$val<br>”;
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>
នៅបន្ទាត់ទី ០៩ នៃ ឧទាហរណ៍ ៥១
យើងធ្វើការត្រួតពិនិត្យទៅលើ $_POST['products'] Element ប្រសិនបើ element
នេះជា array យើងនឹង loop រាល់ធាតុនិមួយៗរបស់វានៅបន្ទាត់ទី ១០ ដើម្បី
បង្ហាញជាលទ្ធផលទៅកាន់ Browser ។ អ្នកក៏អាចអនុញ្ញាតិអោយអ្នកប្រើប្រាស់
ជ្រើរើសនូវជំរើសច្រើន ដោយប្រើ check boxes
ដែលត្រូវផ្ដល់នូវឈោះដូចៗគ្នាសំរាប់ element និមួយៗ ហើយភ្ជាប់ជាមួយ empty
brakets ។ PHP នឹង compiles នូវអ្វីដែលអ្នកប្រើប្រាស់បាន select ទៅជា array
។ យើងនឹងធ្វើការផ្លាស់ប្ដូរពីការប្រើ select element នៅឧទាហរណ៍ខាងលើ
មកប្រើ check boxes វិញដូចមានក្នុងឧទាហរណ៍ ៥២។
ឧទាហរណ៍ ៥២<html>
<head>
<title>HTML Form with a ‘select’ Element</title>
</head>
<body>
<center>
<h2>Multiple Select</h2>
<hr width=”50%”>
<form action=”multiple.php” method=”POST”>
<input type=”checkbox” name=”products[]” value=”Cocacola” />Cocacola
<input type=”checkbox” name=”products[]” value=”Fanta” />Fanta
<input type=”checkbox” name=”products[]” value=”Sprite” />Sprite
<input type=”checkbox” name=”products[]” value=”Merinda” />Merinda
<input type=”checkbox” name=”products[]” value=”Pepsi” />Pepsi
<br><br>
<input type=”submit” value=”submit”>
</body>
</html>

multiple.php
ឧទាហរណ៍ ៥២
01: <html>
02: <body>
03: <head>
04: <title>Reading Input from the form multiple select</title>
05: </head>
06:
07: <?php
08:
09: if ( is_array( $_POST['products'] ) )
10: {
08: echo “<b>Your products choice are :</b><br/>”;
10: foreach($_POST['products'] as $val)
11: {
12: print “$val<br>”;
13: }
14: }
15:
16 ?>
17:
18: </body>
19: </html>

Post a Comment