PHP Action From pada satu Halaman
Action Form atau proses action pada halaman yang sama dengan PHP, contoh kita ingin membuat sebuah form pada satu file misalnya : index.php , nah disini juga kita akan membuat action form nya untuk memproses data nya. jadi hanya pada satu file saja form dan action nya.
salah - salah , jika tidak mengerti caranya kan muncul pensan notif undefinied
Biasanya ketika membuat form, kita menggunakan
action="proses.php"
untuk melewatkan data di form kita ke "proses.php"
. tidak ada yang salah dengan cara tersebut
Namun ada satu waktu jika membuat file baru untuk setiap submit sangat merepotkan. Jalan keluarnya adalah submit di form yang sama, contohnya seperti dibawah ini.
index.php
<form method="POST">
Nama: <br />
<input type="text" name="nama" value"" /><br />
Komentar: <br />
<textarea name="komentar"></textarea><br />
<input type="submit" name="submit" value="Kirim" /><br />
</form>
Untuk Proses nya gunakan kode dibawah ini , tempatkan dibawah atau diatas code form diatas :
<?php // jika submit button diklik
if($_SERVER['REQUEST_METHOD'] == "POST"){
$koneksi = mysql_connect('server', 'username', 'password');
$nama = $_POST['nama'];
$komentar = $_POST['komentar'];
// kalau mau kita juga bisa menambahkan validasi form
if(empty($nama)){
echo "<p>Nama belum diisi</p>";
}
else if (empty($komentar)){
echo "<p>Komentar belum diisi</p>";
}
else { // jika semua syarat validasi sudah terpenuhi, simpan ke database
$sqlsimpan = "INSERT INTO komentar SET
nama = '$nama',
komentar = '$komentar'";
mysql_query($sqlsimpan, $koneksi)
or die ("Gagal Perintah SQL". mysql_error());
echo "<p>Komentar terkirim</p>";
}
}
?>
Contoh diatas adalah contoh yang sangat sederhana dalam membuat action form berada pada halaman yang sama. Ini juga akan berguna terhadap file php kita. dengan membuat fungsi seperti ini kita tidak akan terlalu banyak membuat file php dalam project yang kita buat. Namun contoh diatas akan kesulitan jika kita banyak menangani Form pada halaman yang sama...Solusinya adalah sebagai berikut:
Jelasnya , saya contohkan, saya memiliki 2 buah FORM dimana proses nya akan terletak pada halaman yang sama, nah bagaimana caranya...???
- Kita bisa menggunakan fungsi if
- Berikan nama pada submit button ( saat diklik button submit / simpan ) yang dimana ini akan digunakan pada fungsi IF
- Berikut contohnya
<form method="POST">
Nama: <br />
<input type="text" name="nama" value"" /><br />
Komentar: <br />
<textarea name="komentar"></textarea><br />
<input type="submit" name="simpan1" value="Kirim" /><br />
</form>
<form method="POST">
Nama: <br />
<input type="text" name="nama" value"" /><br />
Komentar: <br />
<textarea name="komentar"></textarea><br />
<input type="submit" name="simpan2" value="Kirim" /><br />
</form>
Untuk proses PHP nya kita bisa menggunakan code dibawah ini, tempatkan pada dibawah kode form diatas :
<?php
if(isset($_POST['simpan1']))
{
echo "proses simpan1";
}
if(isset($_POST['simpan2']))
{
echo "proses simpan2";
}
?>