PHP Form Handling Tips

Saya pengen sharing beberapa tips untuk proses penanganan form di PHP yang wajib dalam aplikasi web. Kalau seandainya anda udah ngerti gpp kan baca2 lagi ;))

  1. Gunakan hidden element untuk menandai form yang di-submit

    Saya punya kebiasaan untuk menekan tombol enter setelah mengisi form. Masalahnya, ada beberapa aplikasi — saya lupa dimana, menggunakan value dari tombol submit untuk menandai form yang tersubmit. Misal:

    <?php 
    if ($_POST['submit'])
    {
      $username = $_POST['username'];
    }
    ?>
    <form method='post'>
       <input type='text' name='username' size='20' />
       <input type='submit' name='submit' value='Submit' />
    </form>
    

    Seandainya saya ngga menekan tombol submit, maka kode PHP tersebut ngga akan dieksekusi. Padahal form bisa disubmit dengan cara nekan enter. Solusinya, saya pakai hidden field.

    <?php 
    if ($_POST['login'] == 'login')
    {
      $username = $_POST['username'];
    }
    ?>
    <form method='post'>
       <input type='text' name='username' size='20' />
       <input type='submit' value='Submit' />
       <input type='hidden' name='login' value='login' />
    </form>
    
  2. Outputkan HTML dengan format HTML

    Ada dua fungsi yang bisa dipakai untuk output yaitu htmlentities dan htmlspecialchars. Gunakan fungsi ini demi keamanan skrip anda (menghindari XSS). Tapi karena nama fungsinya yang panjang dan menyebalkan, maka saya sering me-rename fungsi ini dengan nama yang pendek.

    <?php function h($s) { return htmlentities($s) }; ?>
    <input type='text' name='q'  value='<?=h($q)?>' /> 
    
  3. Array Form

    Daripada anda melakukan:

    <input type='text' name='girlfriend1' size='20' />
    <input type='text' name='girlfriend2' size='20' />
    <input type='text' name='girlfriend3' size='20' />
    

    Anda dapat juga:

    <input type='text' name='girlfriend[]' size='20' />
    <input type='text' name='girlfriend[]' size='20' />
    <input type='text' name='girlfriend[]' size='20' />
    

    Kemudian untuk mengambilnya cukup:

    <?php
    $girlfriend = $_POST['girlfriend'];
    foreach($girlfriend as $girl) {
      // proses secukupnya
    }
    ?>
    

    PHP akan mengenali inputan berbentuk array tersebut

Sementara itu dulu, tips2 dari saya. Semoga bermanfaat

6 Comments | [Put comments]

  1. gravatar eko - February 28, 2008

    selalu ada petunjuk baru di blog njenengan mas. kok nama variabel nya "girlfriend" ada tiga pula he.he.
  2. gravatar idiluam - February 28, 2008

    Akhirnya update postingan juga ;)) Kayaknya masih banyak tuh, tips & trik php yang belum di publish, he he he
  3. gravatar anton ashardi - February 28, 2008

    sip2...array memang powerful :D
  4. gravatar sandal - February 29, 2008

    Nambahin fungsi-fungsi yang penting dalam form handling: - strip_tags() - wordwrap()
  5. gravatar GuM - March 3, 2008

    i just LOVE array in PHP. more, please... :D
  6. gravatar GuM - March 4, 2008

    btw, asli baru nyadar kalo sering bikin kesalahan seperti di tips pertama. hehehe, thanks pencerahannya.

Reply to Comment #comment:3771 by sandal