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 komentar

  1. eko bilang:

    selalu ada petunjuk baru di blog njenengan mas.

    kok nama variabel nya “girlfriend” ada tiga pula he.he.

    February 28th, 2008 at 06:37
  2. idiluam bilang:

    Akhirnya update postingan juga ;))
    Kayaknya masih banyak tuh,
    tips & trik php yang belum di publish, he he he

    February 28th, 2008 at 09:22
  3. anton ashardi bilang:

    sip2…array memang powerful :D

    February 28th, 2008 at 21:15
  4. sandal bilang:

    Nambahin fungsi-fungsi yang penting dalam form handling:
    - strip_tags()
    - wordwrap()

    February 29th, 2008 at 19:52
  5. GuM bilang:

    i just LOVE array in PHP. more, please… :D

    March 3rd, 2008 at 23:48
  6. GuM bilang:

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

    March 4th, 2008 at 08:25

Tinggalkan Komentar





*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word