Penggunaan Form HTML dan Prosesnya

Untuk memproses inputan pada Seme Framework sudah tidak perlu lagi menggunakan $_POST. Seme Framework telah menyediakan kelas khusus untuk mengelola proses inputan ini.

Proses Manualnya (tanpa Seme Framework)

Untuk proses manual, PHP telah menyediakan variabel SUPER GLOBAL untuk menangani pengiriman FORM ini. Seperti $_POST, $_GET, $_FILES, dan $_REQUEST.

Dalam contoh ini akan dibuat 2 file pada direktori yang sama yaitu file index.php dan proses.php. Untuk contoh, simpan kedua file ini didalam D:/XAMPP/htdocs/cobaform. Untuk lebih jelasnya lihat contoh kode berikut ini.

File index.php
<form method="post" action="proses.php">
  <input type="text" name="nama" />
  <br>
  <input type="text" name="alamat" />
  <br>
  <select name="gender">
    <option value="1">Pria</option>
    <option value="0">Wanita</option>
  </select>
  <br>
  <button type="submit">Simpan</button>
</form>
File proses.php
<?php
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
$gender = $_POST['gender'];

echo 'Nama: '.$nama.' beralamat di: '.$alamat.' berjenis kelamin: ';
if($gender == 1){
  echo 'pria';
}else{
  echo 'wanita';
}

Ketika kita akan buka contoh kode tersebut melalui halaman localhost/cobaform/index.php kemudian isi dan klik tombol simpan. Proses akan berjalan dengan baik. Namun, ketika anda coba buka langsung file localhost/cobaform/proses.php, itu akan menyebabkan error karena tidak ada nilai di $_POST yang terikirim.

Perubahan kode manual

Supaya tidak menimbulkan error ketika membuka langsung localhost/cobaform/proses.php, kita harus menambahkan validasi untuk error tersebut. Untuk selengkapnya, mari kita lihat contoh.

File proses.php
<?php
$nama = '-';
if(isset($_POST['nama'])){
  $nama = $_POST['nama'];
}
$alamat = '-';
if(isset($_POST['alamat'])){
  $alamat = $_POST['alamat'];
}
$gender = '-';
if(isset($_POST['gender'])){
  $gender = $_POST['gender'];
}

echo 'Nama: '.$nama.' beralamat di: '.$alamat.' berjenis kelamin: ';
if($gender == 1){
  echo 'pria';
}else{
  echo 'wanita';
}

Kesimpulan

Penggunaan variabel global bawaan PHP, harus divalidasi terlebih dahulu sebelum digunakan. Ketika akan menggunakan Seme Framework untuk pengelolaan input ini, bisa dipelajari di halaman Controller::input.