26 Okt 2013

Mengambil data dari Form Array dengan Submit

Pernah membuat atau kepikiran kalau ada banyak form dengan tombol submit banyak pada aplikasi an... thumbnail 1 summary


Pernah membuat atau kepikiran kalau ada banyak form dengan tombol submit banyak pada aplikasi anda? Bisa jadi anda membuat aplikasi rental mobil atau penjualan yang ada tombol Pilih nya pada setiap produk. Biasanya kita membuat link untuk menambahkan seperti index.php?mod=beli&id=1 pada produk yang kodenya 1. Tentu user/pengunjung mengetahui kalau fungsi yang ditanamkan adalah fungsi beli dengan id 1.

Contoh kasus : Sekarang mari kita looping form sebanyak 4 buah
<?php
for ($i = 1; $i <= 4; $i++) {
?>
<form method="post"  class="form-search">
   <input type="text" name="id_job" value="" placeholder="Masukkan karakter"><br>
    <input type="submit" name="submit" id="<?php echo $i; ?>" value="Pilih">
    </form>
<?php
}
?>
Jika mengklik salah satu, mungkin akan terpilih nilainya 4. Karena dia membaca POST submit dari form terakhir. Sekarang kita padukan dengan fungsi serialize,unserialize,base64_decode,base64_encode

<?php
if(isset($_POST['submit']))
{
    $isi = unserialize(base64_decode(base64_encode(serialize($_POST['id_job']))));   
    echo  $isi;
}
?>
Maka akan mendapatkan nilai sesuai form yang ditekan.

Berikut kode lengkapnya
<?php
for ($i = 1; $i <= 4; $i++) {
?>
    <div class="span4">Form <?php echo $i; ?>
    <form method="post"  class="form-search">
    <input type="text" name="id_job" value="" placeholder="Masukkan karakter"><br>
    <input type="submit" name="submit" id="<?php echo $i; ?>" value="Pilih">
    </form>
    </div>
<?php
}
if(isset($_POST['submit']))
{
    $isi = unserialize(base64_decode(base64_encode(serialize($_POST['id_job']))));   
    echo  $isi;
}
?>