PHP Validasi Form - Validasi Email dan URL

Bagian ini menunjukkan bagaimana cara memvalidasi nama, email, dan URL.

PHP - Validasi Nama

Metode yang ditunjukkan di kode berikut ini memeriksa apakah field name mengandung huruf dan spasi. Jika field name tidak berlaku, lakukan menyimpan pesan kesalahan:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
  $nameErr = "Hanya huruf dan spasi diperbolehkan!"; 
}

Keterangan:Fungsi preg_match() mencari pola string, jika pola ada maka kembalikan true, jika tidak ada maka kembalikan false.

PHP - Validasi Email

Metode yang ditunjukkan di kode berikut ini memeriksa sintaks alamat email apakah berlaku. Jika sintaks alamat email tidak berlaku, lakukan menyimpan pesan kesalahan:

$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
  $emailErr = "Format email tidak berlaku!"; 
}

PHP - Validasi URL

Metode yang ditunjukkan di kode berikut ini memeriksa sintaks alamat URL apakah berlaku (ekspresi reguler ini juga mengizinkan garis miring di URL). Jika sintaks alamat URL tidak berlaku, lakukan menyimpan pesan kesalahan:

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%",
=~_|]/i,$website)) {
  $websiteErr = "URL tidak berlaku"; 
}

PHP - Validasi Nama, Email, dan URL

Sekarang, skrip ini seperti ini:

Contoh

<?php
// Definisi variabel dan diatur nilai kosong
$nameErr = $emailErr = $genderErr = $websiteErr = "";
$name = $email = $gender = $comment = $website = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
  if (empty($_POST["name"])) {
    $nameErr = "Nama diperlukan";
  }
    $name = test_input($_POST["name"]);
    // Periksa apakah nama mengandung huruf dan spasi
    if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
      $nameErr = "Hanya huruf dan spasi diperbolehkan"; 
    }
  }
  if (empty($_POST["email"])) {
    $emailErr = "Email diperlukan";
  }
    $email = test_input($_POST["email"]);
    // Periksa sintaks alamat email apakah berlaku
    if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {
      $emailErr = "Format email tidak valid"; 
    }
  }
  if (empty($_POST["website"])) {
    $website = "";
  }
    $website = test_input($_POST["website"]);
    // Memeriksa apakah alamat URL bahasa yang berlaku (ekspresi reguler ini juga mengijinkan garis bawah di URL)
    if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%",
    =~_|]/i,$website)) {
      $websiteErr = "URL Tidak Valid"; 
    }
  }
  if (empty($_POST["comment"])) {
    $comment = "";
  }
    $comment = test_input($_POST["comment"]);
  }
  if (empty($_POST["gender"])) {
    $genderErr = "Gender diperlukan";
  }
    $gender = test_input($_POST["gender"]);
  }
}
?>

Jalankan Instan

Berikut ini penjelasan tentang cara mencegah formulir dihapus semua bidang input setelah pengguna mengirim formulir.