⊗ppPmFmOFH 299 of 447 menu

Pemrosesan Formulir dalam Satu File PHP

Dalam pelajaran sebelumnya, formulir kita ditempatkan pada satu halaman, tetapi dikirim ke halaman lain. Sebenarnya hal ini tidak wajib. Jika atribut action dibiarkan kosong atau dihilangkan sama sekali, maka formulir akan dikirim ke halaman yang sama.

Bagaimana cara kerjanya: pada kunjungan pertama ke halaman, kita akan mengisi formulir dengan data dan menekan tombol. Setelah itu, halaman akan dimuat ulang dan kodenya akan dijalankan lagi, tetapi kali ini dengan data formulir.

Mari kita lihat contohnya. Misalkan kita memiliki formulir dan pemrosesannya dalam satu file:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php var_dump($_GET); ?>

Pada kunjungan pertama ke halaman, fungsi var_dump akan menampilkan array kosong. Dan setelah pengiriman formulir, ia akan menampilkan data formulir. Artinya, pertama kali $_GET akan kosong, dan kedua kali - akan berisi data formulir.

Hal ini dapat menyebabkan masalah. Misalnya, kita akan memasukkan angka ke dalam formulir dan ingin menampilkan jumlah angka-angka tersebut di layar:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php echo $_GET['test1'] + $_GET['test2']; ?>

Dalam kasus ini, pada kunjungan pertama ke halaman, kita akan melihat error PHP, terkait dengan fakta bahwa array $_GET kosong, sementara kita mengakses elemen-elemennya.

Perlu dikatakan di sini bahwa error mungkin tidak muncul di browser Anda. Dalam hal ini, periksa apakah penampilan error PHP diaktifkan, dan pastikan juga bahwa ini adalah kunjungan pertama Anda ke halaman dan tidak ada data formulir di address bar.

Mari kita perbaiki masalahnya. Untuk melakukan ini, tambahkan kondisi di mana kita akan memeriksa apakah formulir telah dikirim.

Misalnya, kita dapat memeriksa $_GET apakah tidak kosong. Jika $_GET tidak kosong - berarti formulir telah dikirim dan kita dapat melakukan penjumlahan. Sebaliknya, ini masih kunjungan pertama ke halaman dan penjumlahan tidak akan dilakukan. Jadi, inilah kode yang diperbaiki:

<form action="" method="GET"> <input name="test1"> <input name="test2"> <input type="submit"> </form> <?php if (!empty($_GET)) { echo $_GET['test1'] + $_GET['test2']; } ?>

Tanyakan kepada pengguna nama belakang, nama depan, dan nama tengah. Setelah pengiriman formulir, tampilkan data yang dimasukkan pada layar.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak