Selamat datang dan selamat belajar - Silahkan Follow lewat G+ agar anda tidak ketinggalan update materi kami - SALAM

Tuesday 24 November 2015

Form Validasi dengan Fields bersyarat



Kita akan coba melanjutkan membuat form validasi dengan menambahkan fields bersyarat, misalnya nama dna email yang harus diisi, apabila tidak diisi maka akan menampilkan sebuah pesan kesalahan..
Nama-nama fields nya masih sama dengan Form validasi yang kita buat pertama.
Field
Validasi
Nama
Wajib + berisi karakter dan spasi
Email
Wajib. + berisi email address (dengan @ dan . (titik))
Website
Optional. Jika ada diisi dengan URL yang benar
Comment
Optional. Multi-line input field (textarea)
Gender
Wajib. Harus dipilih salah satu
Dalam materi sebelumnya (membuat form validasi), semua input formnya adalah optional.

Dalam kode berikut saya telah menambahkan beberapa variabel baru: $ nameErr, $ emailErr, $ genderErr, dan $ websiteErr. Variabel kesalahan ini akan mengirimkan pesan kesalahan untuk input yang diperlukan.  Saya juga telah menambahkan jika lain pernyataan untuk setiap variabel $ _POST. Ini akan memeriksa apakah variabel $ _POST kosong dengan fungsi PHP empty ()). Jika kosong, pesan kesalahan disimpan dalam variabel kesalahan yang berbeda, dan jika tidak kosong, ia akan mengirimkan data input pengguna melalui fungsi test_input ()
Tampilan Pesan Kesalahan

Setelah nanti form input bersyarat kita buat kita juga membuat form yang akan menampilkan pesan kesalahan dalam bentuk kode HTML, dengan sedikit menambahkan script setelah masing-masing input yang diperlukan, yang menghasilkan pesan kesalahan yang benar, jika diperlukan (yaitu jika pengguna mencoba untuk mengirimkan formulir tanpa mengisi formulir yang diperlukan).
Selengkapnya scriptnya seperti berikut ini :

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// mendefinisikan variabel dan menetapkan nilai kosong
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$nama = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   if (empty($_POST["nama"])) {
     $nameErr = "Nama harus diisi";
   } else {
     $name = test_input($_POST["nama"]);
   }
  
   if (empty($_POST["email"])) {
     $emailErr = "Email harus diisi";
   } 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"]);
   }
}

function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>

<h2>Contoh Form Validasi bersyarat</h2>
<p><span class="error">* Field harus diisi.</span></p>
<form method="post" action="
<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
   Nama: <input type="text" name="nama">
   <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>
   Comment: <textarea name="comment" rows="5" cols="40"></textarea>
   <br><br>
   Gender:
   <input type="radio" name="gender" value="perempuan">Perempuan
   <input type="radio" name="gender" value="laki">Laki-laki
   <span class="error">* <?php echo $genderErr;?></span>
   <br><br>
   <input type="submit" name="submit" value="Submit">
</form>


<?php
echo "<h2>Komentar anda :</h2>";
echo $nama;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>


</body>
</html>

No comments:

Post a Comment