Rabu, 20 November 2013

Memproses PHP Form Menggunakan Required Fields

--
--

Memproses PHP Form Menggunakan Required Fields

Bab ini menunjukkan bagaimana untuk membuat required fields dan membuat error message jika diperlukan.

Medan yang diperlukan - PHP

Jadual di bawah menunjukkan bahawa maklumat "Nama", "E-mel", dan "jantina" mesti dipenuhkan. Ia tidak boleh kosong dan perlu diisi dalam  HTML Form.
Field
Validation Rules
Name
Required. + Must only contain letters and whitespace
E-mail
Required. + Must contain a valid email address (with @ and .)
Website
Optional. If present, it must contain a valid URL
Comment
Optional. Multi-line input field (textarea)
Gender
Required. Must select one
Dalam bab yang lepas, semua bidang input adalah pilihan.
Dalam kod berikut kita akan menambah beberapa variable baru: $ nameErr, $ emailErr, $ genderErr, dan $ websiteErr. Error variable akan menyimpan error message bagi setiap field yang berkaitan. Kita juga akan menambah arahan semakan “if .. else” bagi setiap pembolehubah $ _POST. Jika variable $ _POST kosong, error message akan disimpan dalam error variable, dan jika ia tidak kosong, data akan dihantar melalui test_input() function.
<?php
// define variables and set to empty values
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST")
{

  if (empty($_POST["name"]))
    {$nameErr = "Name is required";}
  else
    {$name = test_input($_POST["name"]);}

  if (empty($_POST["email"]))
    {$emailErr = "Email is required";}
  else
    {$email = test_input($_POST["email"]);}

  if (empty($_POST["website"]))
    {$website = "";}
  else
    {$website = test_input($_POST["website"]);}

  if (empty($_POST["comment"]))
    {$comment = "";}
  else
    {$comment = test_input($_POST["comment"]);}

  if (empty($_POST["gender"]))
    {$genderErr = "Gender is required";}
  else
    {$gender = test_input($_POST["gender"]);}
}
?>

PHP – Paparan Error Message

Kita akan menambah skrip selanjutnya selepas setiap field, yang menghasilkan error message yang betul jika diperlukan (iaitu jika pengguna cuba untuk menyerahkan borang tanpa mengisi medan yang diperlukan):

Contoh

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail:
<input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website:
<input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
<label>Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">

</form>
Langkah seterusnya adalah untuk mengesahkan data input, contohnya "Adakah Nama mengandungi hanya huruf dan white space?", Dan "Adakah E-mel mengandungi syntax alamat e-mel yang sah?", Dan jika diisi, " Adakah Laman Web mengandungi URL yang sah? ".
--

Tiada ulasan:

Catat Ulasan