Dari cara penanganan objek form dengan method=GET, kita dapat melihat bahwa HTML mengirimkan 'isi' form melalui alamat URL. Cara pengiriman seperti ini bisa kita manfaatkan sebagai sarana mengirim pesan (dalam bentuk variabel) antar halaman PHP. Jika ditambah dengan fungsi header(), kita bisa memanfaatkan fitur ini untuk menampilkan pesan kesalahan dari sebuah form.
Cara Mengirim Variabel Antar Halaman PHP
Dalam PHP terdapat beberapa cara untuk mengirim variabel antar halaman. Salah satunya adalah dengan memanfaatkan cara pengiriman form dengan method=GET. Jika kita mengirim form dengan metode GET, maka hasil dari form akan ditambahkan di dalam menggunakan variabel superglobal $_GET.
Sebagai contoh, jika di dalam form terdapat kotak input dengan atribut name=user_name yang diisi dengan 'duniailkom', maka ketika dikirim untuk diproses ke halaman proses.php, di dalam URL akan menjadi:
proses.php?user_name=duniailkom
dan didalam halaman proses.php, variabel $_GET['user_name'] akan berisi 'duniailkom'.
Dengan cara ini kita bisa mengirim variabel dari sebuah halaman ke halaman lain. Misalkan kita membuat sebuah kondisi logika dengan PHP, dan jika logikanya salah maka tampilkan sebuah link yang menyatakan bahwa alamat tidak lengkap. Pengiriman pesan ini bisa ditulis sebagai berikut:
proses.php?pesan=alamat+tidak+lengkap.
Ketika user men-klik link tersebut, pada halaman proses.php akan memiliki sebuah variabel $_GET['pesan'] yang berisi: 'alamat tidak lengkap'.
Kita bisa memanfaatkan ini untuk berbagai hal, dan dalam tutorial kali ini kita akan menggunakan cara ini untuk menampilkan pesan kesalahan dari form.
Redirect halaman dengan fungsi header(Location:)
Fungsi header() di dalam PHP digunakan untuk memproses HTTP header. Fungsi header() memiliki banyak fitur, namun yang akan kita manfaatkan adalah fitur untuk mengirim user ke halaman lain atau dikenal dengan istilah: redirect.
Untuk 'mengirim' user ke sebuah halaman, kita menggunakan Location:halaman.html sebagai argumen fungsi header(). Misalkan kita ingin mengirim user ke halaman pendaftaran.html pada situs duniailkom.com, maka penulisan fungsi header() adalah sebagai berikut:
header("Location: https://www.duniailkom.com/pendaftaran.html")
Halaman yang dituju tidak harus berupa halaman HTML, tetapi juga halaman PHP, atau bahkan file multimedia seperti gambar. Fitur ini akan kita manfaatkan untuk menampilkan pesan kesalahan form dalam PHP.
Cara Menampilkan Pesan Kesalahan Form
Dalam tutorial sebelumnya tentang Validasi Form untuk Mencegah Cross-site Scripting dan HTML injection, kita telah membuat proses validasi form dan menampilkan pesan kesalahan form berdasarkan kondisi yang terjadi. Namun pesan kesalahan tersebut hanya ditampilkan pada halaman proses.php. Jika user ingin mengubah isian form, ia terpaksa kembali kehalaman form.html untuk memperbaiki kesalahan form tersebut dengan cara mengetik manual di web browser.
Salah satu fitur pengisian form yang umum digunakan adalah ketika isian form ditemukan kesalahan, maka user akan dikembalikan ke halaman awal form, beserta pesan kesalahan. Untuk menghasilkan fitur seperti ini, kita akan memanfaatkan fungsi PHP: header().
Kembali menggunakan halaman form.html dan proses.php yang kita gunakan dalam tutorial-tutorial sebelumnya, kali ini saya akan memodifikasi halaman proses.php agar bisa memanfaatkan fungsi header(). Berikut adalah modifikasi file proses.php:
<?php if (isset($_GET['nama']) AND isset($_GET['email'])) { $nama=$_GET['nama']; $email=$_GET['email']; Â Â $nama=htmlspecialchars($nama); Â Â $email=strip_tags($email); } else { Â Â header("Location:form.php?error=variabel_belum_diset"); } Â if(empty($nama)) { Â Â header("Location:form.php?error=nama_kosong"); } else { if (is_numeric($nama)) { Â Â header("Location:form.php?error=nama_harus_huruf"); } else { echo "Nama: $nama <br /> Email: $email"; } }Â Â ?>
Dari kode proses.php kita sebelumnya, saya hanya mengubah bagian error menggunakan fungsi header(). Namun perhatikan bahwa saya mengirimkan variabel error kepada halaman form.php, pesan inilah yang akan diproses pada halaman form.php.
Untuk halaman form.html, saya akan mengubah nama file menjadi form.php. Perubahan ini diperlukan karena pada halaman form.html memerlukan proses PHP untuk menangani variabel error yang dikirim dari halaman proses.php.
Berikut adalah kode dari halaman form.php:
<?php //ambil nilai variabel error if (isset($_GET['error'])) { $error=$_GET['error']; } else { $error=""; } Â //siapkan pesan kesalahan $pesan=""; if ($error=="variabel_belum_diset") { $pesan="<h3>Maaf, anda harus mengakses halaman ini dari form.php</h3>"; } if ($error=="nama_kosong") { $pesan="<h3>Maaf, anda harus mengisi nama</h3>"; } if ($error=="nama_harus_huruf") { $pesan="<h3>Maaf, nama harus berupa huruf</h3>"; } ?> Â <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Belajar Form PHP</title> </head> <body> <h2>Tutorial Belajar Form HTML - PHP </h2> <?php echo $pesan; ?> <form action="proses.php" method="get"> Nama: <input type="text" name="nama" /> <br /> E-Mail: <input type="text" name="email" /> <br /> <input type="submit" value="Proses Data" > </form> </body> </html>
Pada halaman form.php saya menambahkan beberapa kode PHP di awal halaman. Kode PHP ini berfungsi untuk menangani variabel error yang dikirimkan dari halaman proses.php.
Setelah memindahkan variabel $_GET['error'] ke dalam variabel $error agar mudah diakses, selanjutnya saya membuat beberapa logika IF untuk memeriksa pesan error, dan memberikan 'pesan kesalahan' yang ingin ditampilkan kedalam variabel $pesan.
Variabel $pesan ini kemudian akan disisipkan di awal tag form.
Untuk mengujinya, silahkan anda mencoba form.php tersebut dan klik tombol 'Proses Data' tanpa memberikan input apa-apa di dalam form, dan sekarang pesan kesalahan akan tampil di halaman form.php.
Penanganan cara kesalahan form seperti ini membuat form menjadi lebih user friendly. Jika anda memahami CSS, biasanya pesan kesalahan ini ditampilkan dengan style yang berbeda dari judul form agar lebih 'pas', namun dalam tutorial ini anda setidaknya telah mengetahui trik untuk menampilkan pesan kesalahan form dengan PHP. Silahkan berekplorasi dan menambahkan objek-objek form lain sebagai bahan latihan.
Mas, fungsi dari "htmlspecialchars()" dan "strip_tags()" itu apa ?
Fungsi dari htmlspecialchars() dan strip_tags() adalah untuk menfilter string supaya tidak bisa disisipkan kode berbahaya seperti javascript. htmlspecialchars() digunakan untuk mengubah kode <script>alert('Selamat datang di duniailkom')</script> menjadi karakter entity, sedangkan jika digunakan dengan fungsi strip_tags(), PHP akan menghapus seluruh kode yang merupakan tag HTML, seperti <script>, <b>, <i>, dll .
Untuk lebih jelasnya, perbedaan dan penjelasan mengenai fungsi htmlspecialchars() dan strip_tags() telah kita bahas pada tutorial sebelum ini: Validasi Form untuk Mencegah Cross-site Scripting dan HTML injection
Kalau make method post gmn ya um?
Kalau untuk metode pengiriman pesan seperti yang kita bahas disini, sepengetahuan saya hanya bisa dibuat dengan method GET.
Untuk menthod POST, kita harus menggabungkannya dengan JavaScript atau PHP. :)
Bang Andre, kalau dari halaman html saya, saya punya tombol isinya
(ini saya ketik manual):
jadi di dalam kirimdata.php saya kasih command
ini supaya dialihkan ke halaman terimadata.php, yang otomatis akan menampilkan data pada halaman seperti ini
(ini muncul otomatis sumber dari pemrosesan kirimdata.php)
File Name: dataarchieve.zip
File Size: 5 Mb
apakah Valid bang setingan kirimdata.php nya
Salam Kenal
Kalau menurut saya, kode diatas tidak bisa dijalankan, karena cara yang dijelaskan pada tutorial ini hanya bisa dilakukan untuk method form GET :)
Di dalam contoh, saya menggunakan:
Dimana "error=variabel_belum_diset" lah yang akan dikirim, sehingga jika menggunakan:
maka tidak akan ada data yang dikirim. Sebagai alternatif, hasan bisa mengubahnya menjadi:
Lalu di halaman terimadata.php, bisa diambil dengan cara:
Semoga bisa membantu :)
Halo Bang Andre
Sangat membantu :) bisa dijalankan bang
hanya kalau kita memiliki dataarchieve1.zip – dataarchieve10.zip lalu memiliki berbagai nilai filesize yang berbeda, apakah bisa bang tanpa kita harus membuat 10 file kirimdata.php, dan hanya menggunakan 1 kirimdata.php yang otomatis memasukkan nilai yang bergantung pada fungsi tombol (Form > fungsi input dan merubah nilai value nya ?
Mohon Petunjuk Bang Andre :)
Mohon maaf y hasan, bagian kode programnya ter-filter.
Mengirim data dengan metode GET ini ada batasnya, jadi kita tidak bisa mengirim terlalu banyak data (apalagi data yang bersifat rahasia).
Sebagai alternatif, datanya bisa disimpan sementara di database. Atau hasan bisa menggunakan SESSION untuk menyimpan data ini.
kak mau tanya apakah setelah Location itu bs ke arah file html?
contohnya:
header("Location:localhost/belajar/form.html")
Oh, bisa kok.. dicoba saja :)
bagaimana caranya menampilkan pesan bahwa pesan anda telah terkirim pada form pendaftaran ? terima kasih
Idenya bisa diambil seperti contoh pada tutorial ini,
Tapi kalau untuk sekedar menampilkan bahwa form telah dikirim, tinggal buat perintah echo "Data Telah Terkirim" di halaman proses.php
namun tanpa tambahan fungsi header(), sehingga program akan berhenti di halaman proses.php.
bang saysa maw tanyak : gmna caranya klo maw melempar variable dari data yang ada di barang di lempar ke data boking tanggal di klik tpi ga harus di imputkan secara manual bang?????
Waduh, kalau pertanyaan seperti ini saya mesti melihat kodenya dulu.
Tapi jika ingin membuat form yang interaktif, harus menggunakan JavaScript juga, tidak hanya PHP.
bang mau tanya,,
contoh yg ini untuk dua variabel <?php
if (isset($_GET['nama']) AND isset($_GET['email'])) kalau untuk tiga variabel atau labih…! gmana cara penulisanya,,,,,
Tinggal disambung saja gan:
if (isset($_GET['nama']) AND isset($_GET['email']) AND isset($_GET['password']))
Mungkin bisa dipelajari lagi dasar2 HTML dan PHP, terutama tentang pembuatan form HTML dan operator logika PHP :)
Bang saya mau nanya dong, misal saya ngirim permintaan jawaban keuser lain tuh nah berarti kan location di project php saya location:'profil.php' nah kalo kaya gitu kan berarti semua yang login nerima permintaan yang saya minta tuh bang, biar semuar user ga dapet permintaan yang saya kirim gimana bang? jadi yang dapet permintaanya itu yang saya kirimin permintaan, jadi kaya add pertemanan di facebook gitu bang boleh kasih tau codingannya ga bang?
G gan, contoh pengiriman pesan seperti di halaman ini cuma akan dikirim ke satu user saja, bukan semua user. Jika butuh kirim pesan yang lebih kompleks lagi, bisa menggunakan session atau cookie. Bisa juga pesannya disimpan dulu ke database.
jadi kaya gini bang, saya kan bikin web kaya cari lawan gitu nah awalnya kan registrasi nanti pas udah regis dia bisa nyari lawan, nah user yang mau nyari lawan ini nanti bakal ngeklik profil lawan dan dia bakal klik lawan, nah pas klik lawan dia ngirimnya kan cuma ke satu user yang dia mau lawan nah codingannya gimana bang? biar user laen ga dapet pesan yang sama
Idenya, ketika user men-klik gambar lawan, akan terkirim ke halaman proses. Nah, dihalaman proses ini nanti bisa disimpan ke database 'siapa lawan siapa'.
Untuk proses seperti ini sebaiknya pakai cookie mas, jadi kita bisa ambil data siapa yang men-klik gambar tersebut.
Nice Post Gan.
maaf gan, boleh minta kode form yang bisa dikirim ke database lalu menampilkan secara otomatis di halaman website.
formnya :
Nama :
Alamat Link :
form upload :
Kirim
script untuk menampilkannya di website
image auto resize ke width 160px height 600px
otomatis tampilan akhirnya jadi gini
<a href="link.html (dari database)" target=_blank"><img scr="link.php/folder/nama image.jpg dari database.
contoh tampilan yg di inginkan http://lowongankerja.tk/ads.php
Terima Kasih sebelumnya.
Salam Kenal dari Saya
Wah, ini perlu waktu yang tidak sebentar mas, hehe… mungkin bisa dicari jasa programmer yang bisa membuat program tersebut :)
Mas source code yang kaya di menerima pertemanan facebook gimana itu mas? jadi kan kita menambahkan pertemanan ke user lain nah pas usernya menerima pertemanannya permintaannya itu secara otomatis kan sudah tidak ada nah program saya pun seperti itu, boleh di share mas makasih :)
Kalau dibuat dari PHP murni, bisa ribuan baris kode program nih, hehe.. belum lagi mengintegrasikannya ke program yang mas tulis.
Tampilan sistem pertemanannya sudah dirancang mas? soalnya kalau mas sudah bisa membuat web seperti itu, saya rasa sudah paham cara kerjanya.
Tapi kalau webnya juga belum dibuat (masih baru mulai), butuh skill PHP mumpuni membuat sistem seperti facebook. Untuk menambahkan teman seperti itu cukup dengan memeriksa tabel di database mas, Jika user sudah ada di tabel database (berarti sudah berteman), link untuk add friendnya g usah dimunculin.
mas, untuk tutorial cookie belum ada ya mas, jadi kyk kita login terus kita log out, setelah itu kita masuk lagi dengan click tombol yang arah panah kanan, dan malah bisa masuk lagi, itu cara pembuatan nya gmn biar ketika klik arah panah sudah benar – benar keluar dari akun kita.
satu lagi mas. untuk pembuatan tutorial button insert atau button delete seperti nya belum ada mas tutorial nya, apakah caranya seperti menghapus atau insert di mysql, tapi saya kurang mengerti klo sudah di bagian button nya, seperti crud itulah, saya sudah baca tutorial di website lain, bisa sih, tapi saya kurang tau apa yang saya tulis hehe
Iya, belum ada mas, pembahasan tentang cookie dan session rencananya akan saya bahas di eBook PHP, karena cukup panjang kalau dijadikan tutorial.
Betul, itu sudah masuk ke arah CRUD. intinya sih harus paham HTML, PHP dan MySQL :)
Terima kasih bang materinya, materinya sangat membantu.
Ditunggu materi tentang variabel superglobalnya yang lain… hehehe
Hehe, siap mas. Tp untuk sementara ini pembahasan yang lebih lengkap sudah ada di eBook PHP Uncover :)
Mas cara menampilkan pesan kesalahan di form login kalo didatabase belum ada datanya jadi harus daftar dlu bru login
ITU gmna mas?
Yang paling sederhana bisa seperti dalam tutorial ini mas, nanti kalau tidak ketemu data, di redirect ke halaman lain untuk menampilkan error (menyuruh user mengisi lagi).
Validasi seperti ini memang cukup ribet, belum lagi memastikan bahwa form tidak boleh kosong, dll. Di buku PHP Uncover saya butuh 80 halaman lebih untuk membahas cara validasi form :)
Klo misalnya form yang kosong lebih darI satu car validasinya gmna mas
Cukup panjang kalau ditulis disini mas. Sementara ini baru saya bahas di eBook PHP Uncover :)
Mas ,
semisal kita mengirim input data Dari index.php ke halaman input.php.
apakah bisa otomatis kembali ke halaman index.php, jika proses nya ITU gagal atw berhasil…?
berikan contoh sederhana jg y Mas…
makasih….
Bisa mas, dengan menggunakan fungsi header() PHP untuk men-redirect user ke halaman lain tepat setelah proses selesai. Misalnya jika terdapat error di kembalikan ke halaman error.php, kodenya adalah: header("error.php").
Karena butuh penjelasan yang cukup panjang, materi lengkap cara penggunaan fungsi header() saat ini baru tersedia di eBook PHP Uncover :)
mas.. kalo seperti contoh di atas hanya bisa satu" dongya ? karna dia cuman ngirimin 1 error aja.
kalo misalnya dia belum ngisi nama sama emailnya gimana mas ? biar nampilin pesan ke2nya kalo kosong ?
maaf newbie.
Kalau formnya ada 2 atau lebih, nanti bisa seperti ini:
header("Location:form.php?error=nama_kosong&email_kosong");
Lalu di halaman form.php harus diperiksa dan tampilkan pesan yang sesuai.
Sebenarnya ada cara yang lebih efektif, yakni tampilan form dan validasinya di proses pada halaman yang sama. Terutama jika formnya terdiri dari banyak field.
Namun karena cukup kompleks, saat ini baru tersedia di eBook PHP Uncover (saya butuh 80 halaman lebih untuk membahas cara pemrosesan form dan validasinya).
maaf pak mau tanya jika saya punya url : index.php?menu1=isi_pertama
si menu1 bisa kita ganti-ganti dan dapat datanya /
mohon pencerahannya pak | terimmakasih
Kalau yang diganti bagian "menu1", kita juga harus mengganti cara pengaksesan variabel $_GET-nya. Kalau tidak, nilainya g bisa diakses.
Misalnya diganti menjadi index.php?menu2=isi_pertama, cara aksesnya harus dari $_GET["menu2"].
mas mau nanya.. jadi saya sedang belajar membuat aplikasi jadi – jadian seperti chatting.. login logout dan regristrasi sudah berhasil.. namun waktu saya membuat 'status' di halaman index dengan nama yang sudah ter registrasi tadi.. sudah berhasil tetapi jika saya logout lalu masuk lagi dengan akun lain yang sudah didaftarkan tentunya.. maka yang mengetikkan status namanya bakal berubah menjadi yang aktif.. saya stuck disini mas..
Banyak kemungkinan salahnya mas, mesti dilihat satu per satu baris kode program tersebut, dan pastinya ini butuh waktu lama karena prediksi saya kode programnya sudah ratusan / ribuan baris. Alternatif lain coba di tanya ke forum2 programmer seperti kaskus, mana tau ada yang bisa bantu…
thanks gan artikelnya sangat membantu …
Siip gan, semoga bisa bermanfaat..
itu screenshotnya pake aplikasi apa ya gan?
Bisa pakai aplikasi "ShareX"
bang andre , kalau untuk menampilkan kesalahan variabel_belum_diset itu gmna ya? saya coba buka proses.php nya ko malah muncur form.php dengan pesan kesalahan nama kosong yaah
Bisa menggunakan fungsi isset(). Penjelasannya bisa kesini: https://www.duniailkom.com/tutorial-form-php-cara-membuat-validasi-form-php-fungsi-isset-dan-empty/
Bang andre mau tanya sedikit melenceng, ada gak tutorial membuat form html php untuk hp, jadi saya sudah ada server mysql dan web appnya, saya mau manfaatkan android untuk scan qr melaui browser android lalu di send ke server mysql sekalian mau ditambah validasi barang. Tks
Belum punya juga nih saya, mungkin bisa coba ditanya ke forum2 yang membahas pemrograman android…
Klo untuk kasus form login yg nampilin notif klo user sama pwd nya salah gimana min? Itu kan ngmbil dari dtabase dan juga pakai metode POST
Betul, itu akan ngambil dari database dan dibandingkan dengan isian form dari user (dari form login). Untuk kode programnya kira2 bisa seperti ini:
<?php
// buat koneksi ke mysql dari file connection.php
include("connection.php");
$username = $_POST["username"];
$password = $_POST["password"];
$query = "SELECT * FROM admin WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($link,$query);
if(mysqli_num_rows($result) == 0 ) {
// data tidak ditemukan, buat pesan error
$pesan_error .= "Username dan/atau Password tidak sesuai";
}
?>
Untuk penjelasannya lumayan panjang, belum lagi aspek keamaman seperti men-hash password atau men-filter form. Kode diatas saya ambil dari buku PHP Uncover duniailkom.
Iya min. Mksd saya nampilin pesan error nya biar di halaman yg sama(form) bukan di proses.php nya gmna?
Caranya bisa seperti di halaman ini, yakni menggunakan query string untuk mengirim pesan error ke halaman tempat form berada. Prinsip nya nanti di halaman proses.php menggunakan redirect melalui fungsi header().
Prosesnya memang cukup panjang, untuk saat ini tutorialnya baru tersedia di buku PHP Uncover dunialkom, termasuk cara me-repopulate isian form (agar form yang sudah diisi tidak terhapus ketika di redirect)
di link ss bawah
dibelakang php. live= diisi teext bebas sincron ke dalam web
nah di situ berarti mw buat text apa j sincron text nya jd seperti judul d website
gi mana carnaya hu
gambar d ss d bawah ni gan
http://prntscr.com/h8yx7t
Prinsipnya sama seperti yang ada di tutorial ini, nanti hasil yang diketik setelah ".php?live= a dari a" tinggal ditangkap dengan $_GET['live'], lalu di echo ke halaman tersebut.
Agan ..
Apakah 1 halaman bisa memuat lebih dari 1 session ?
minta kecerahannya gan….
Kalau yang dimaksud lebih 1 variabel session, jawabnya bisa.
Contoh:
<?php
$_SESSION["nama"]="Sheila";
$_SESSION["id"]="007";
$_SESSION["hak_akses"]="super_user";
?>
Terimakasih Master, akhirnya ketemu di website ini metode yang selama ini saya cari-cari.
Bang, ane udah belajar dan praktek basic desain web dri dunia ilkom mulai dari html, css, mysql, php, php-mysql, pdo, sampai php form, sebelumnya juga ada belajar di blog atau website lain, tapi ngga ada yg tuntas krna tutorialnya ngga selengkap dan ngga sedatail yg disini, tapi ada dua hal yang masih bikin ane penasaran meskipun udah belajr disini bang, yaitu cara menyimpan data form php ke database mysql dan cara membuat postingan di halamn web kita(misalnya kita ingin membuat pengumuman utk user web kita, itu bikinnya di html atau gimana bang? trus kalau bikinnya di html, apakah stiap kita akan posting kita buat file html terus bang?). Ada tutorialnya ngga bang? Kalau ada tolong diposting dong bang, karena menurut ane 2 hal tersebut juga penting buat pemula kayak ane bang.
Thanks yaa
Bang apakah kita bisa menginput data dengan memakai metod GET lalu dikirim ke file lain untuk ditampilkan?
Contoh : saya ingin menampilkan nomer surat dan tanggal surat pada Laporan print fpdf saya, sesuai dengan yang di inputkan oleh admin, data yg diinput tidak memakai database.
Dengan kata lain form input yg dibuat akan jadi tampil data pada fpdf print saya dengan memakai method Get bukan Post, apakah bisa bang?
Seharusnya bisa, dan juga g masalah apakah mau pakai GET maupun POST. Nanti tinggal "ditangkap" di halaman pemrosesan memakai variabel $_POST['nama'] atau $_GET['nama']. Ini sama seperti pemrosesan form biasa, hanya saja nanti isi variabelnya diteruskan lagi ke fpdf.
reply
min minta solusi nya dong gimana cara mengirim nilai variabel per halaman? ceritanya saya lg bkin soal pilihan ganda dengan tampilan satu soal satu halaman menggunakan teknik paging, tapi saya bingung pada saat tombol submit nya min, yg kekirim hanya nilai halaman terakhir saja, yang halaman sebelumnya tdk terkirim nilai variabelnya, mohon bantuannya min… terimakasih banyak..
Pilihannya bisa pakai database, cookie / session, atau hidden <input>.
Kalau ga mau ke database, cookie jadi pilihan yang pas. Nanti setiap user klik tombol sumbit (atau next untuk pindah ke soal berikutnya), simpan jawaban ke cookie. Silahkan pelajari tentang cara pemrosesan cookie di PHP.
Oh pake cookie yah min, bisa mnta contoh simpelnya ga min mengenai cookie, soalnya data yg akan sya kirim itu berupa data array, terimah kasih sebelumnya min udah mau bntu jawab hehe..
Maf mas andre mau tanya giman cranya
kalo hsil inputan form muncul dulu di halman lain.
Nah stelah sudah muncul diliht dibaca dipandngi, baru di save tuh datanya.
Kode programnya lumayan panjang kalau ingin buat yang seperti itu. Tapi ide dasarnya bisa menggunakan konsep $_GET dengan 2 buah form. 1 form untuk input di halaman pertama, lalu hasilnya ditangkap oleh form di halaman ke-2, dan jika di klik tombol submit baru tersimpan ke dalam database.
Ketika $_GET saya ganti dengan $_POST pesan errornya tidak mau muncul di atas form.
Atribut method di dalam tag <form> juga harus diubah menhadi Post, yakni <form action="proses.php" method="post">
assalamu alaikum min..
saya mw tanya nih…
header("Location:form.php?id=echo $data")
apa memang tidak bisa mengirim data diwakili dengan variabel. klw pake header?
$isi_form_kembali = "&$query_nama&query_email";
Fungsi dari "&" / ampersand itu apa ya ? Spesifiknya ini tentang mengisi form kembali.
Itu sebagai pemisah antar variabel query string. Lengkapnya sudah dibahas pada part awal materi form PHP (Part 2), yakni di https://www.duniailkom.com/tutorial-form-php-part-2-perbedaan-metode-pengiriman-form-get-dan-post-dalam-php/
$query_nama = "nama=".urlencode($nama);
$query_email = "email=".urlencode($email);
$isi_form = "&$query_nama&$query_email";
Kenapa variabel $isi_form membutuhkan tanda kutip dua (""), ketika saya menghapus tanda kutip dua yang tampil adalah salah satu dari variabel $query_nama dan $query_email di BODY tepat di atas form bukan di query string / url (kalau di ebook tepatnya pada BAB Form, mengisi halaman form kembali). jadi apa fungsinya tanda kutip 2 ini ? Mohon dijawab karena berhari-hari saya stuck dimateri Repopulate.
Dalam PHP, tanda kutip dua dipakai untuk membuat tipe data string, yang kalau dihapus tentu tidak jadi string lagi.
Menurut saya ada baiknya belajar secara berurutan dari awal dulu, karena perbedaan tanda kutip 1 dan tanda kutip 2 ini sudah dibahas di awal buku, tepatnya di bagian tipe data string.
Kalau langsung lompat ke form tanpa punya dasar yang kuat, memang akan lebih banyak bingungnya…
Bang mau tanya , di html form kan ada action tuh untuk mengirim data ke halaman yang dituju, apakah action tersebut bisa diisi dua halaman yang artian saya mengirim ke dua halaman melalui satu action,
terima kasih
Tidak bisa, isi atribut action hanya bisa diisi 1 halaman saja.
Btw, tujuannya untuk apa y? Kalau sebuah data ingin dipakai di beberapa halaman, akan lebih praktis jika data tersebut di simpan di database. Atau bisa juga disimpan ke dalam cookie atau session.
Bang,Kalu buat edit data myql gimana contoh urlnya.
<?php
$id = $_POST['id'];
$name = $_POST['name'];
$ip_address = $_POST['ip_address'];
//DATA yang ingin di rubah
$query = "UPDATE tbl_routers SET name = '$name', ip_address = '$ip_address' WHERE id = '$id'" ;
$hasil = mysql_query($query);
?>
Maksudnya saya ingin update data mysql via url dengan bantuan php
min, mohon dibantu,
saya sedang bermain dengan 2 hamalan html.
saya bertujuan dari halaman 1 ini, jika di proses maka akan menuju halaman ke 2 (header) dan setelah menuju ke halaman 2, program akan mengklik salah 1 tombol pada halaman 1.
itu cara pegkodean nya gimana ya min?
gan gimana caranya biar emailnya nggak boleh kosong jg?
di proses.php if emptynya yg dicek hanya $nama aja apa gini gan:
if(empty($nama,$email))
{
header("Location:form.php?error=nama_kosong&email_kosong");
}
terus di file form.php:
if ($error=="nama_kosong&email_kosong")
{
$pesan="<h3>Maaf, anda harus mengisi nama</h3>";
}
itu hanya nampilin Maaf, anda harus mengisi nama, jika saya pengennya nama kosong tampil pesan "Maaf, anda harus mengisi nama" terus ketika email kosong tampil pesan "Maaf, anda harus mengisi email" gmn caranya ya gan?
Jika pengen buat yang seperti itu akan butuh beberapa pemeriksaan, karena ada 4 kondisi yang mungkin terjadi:
1. nama kosong, email kosong
2. nama diisi, email kosong
3. nama kosong, email diisi
4. nama diisi, email diisi
Setiap kondisi harus ada kode program untuk memeriksa, misalnya untuk kondisi 1 logika pemeriksaannya seperti ini:
if(empty($nama) AND empty($email)) {
// kode yang dijalankan jika nama DAN email kosong
}
Untuk kondisi kedua, kodenya:
if(!empty($nama) AND empty($email)) {
// kode yang dijalankan jika nama diisi DAN email kosong
}
Dst… Materi seperti ini termasuk bagian dari Algoritma (konsep dasar berfikir logika programming). Cukup panjang kalau ingin dibahas disini…
Halo kak saya mau bertanya, bagaimana caranya membuat file proses untuk inisial variable ID berbeda dan mengarah ke page yang berbeda?
sebagai contoh saya punya ID PRLH0001 dan RY0001, apabila saya klik ID PRLH0001 maka header akan menuju ke page A, lalu jika saya klik RY0001 maka header menuju ke page B.
sejauh ini coding yang bisa saya buat seperti ini,
$id = $_GET['id'];
if ($id == 'PRLH'){
$link = 'prlh.php';
}elseif ($id == 'RY') {
$link = 'roya.php/';
}else{
$link = false;
}
if( $link ){
header( "Location: $link" ) ;
exit();
}
apa ada yang salah dengan coding saya, mohon pencerahannya, terima kasih.
Sekilas kode diatas tidak ada kesalahan, selama nilai $_GET['id'] memang berisi string 'PRLH' atau 'RY'.
Tapi kalau perpindahannya melalui klik, maka menurut saya cukup pakai tag <a> saja, misal <a href="prlh.php">PRLH0001</a>.
bang adre kalau kirim data tanpa menggunakan form action bisa ga ya bang?
Kalau kodenya diinput lewat form, itu memang harus pakai atribut action. Kecuali datanya ditulis sebagai query string seperti ?user_name=duniailkom