⊗ppPmFmOFH 299 of 447 menu

Pemprosesan Borang dalam Satu Fail PHP

Dalam pelajaran sebelumnya, borang kami diletakkan pada satu halaman, dan dihantar ke halaman lain. Sebenarnya, ini tidak semestinya. Jika atribut action dibiarkan kosong atau dibuang langsung, borang akan dihantar ke halaman yang sama.

Bagaimana ia akan berfungsi: pada kali pertama masuk ke halaman, kami akan mengisi borang dengan data dan menekan tompok. Selepas itu, halaman akan disegarkan semula dan kodnya akan dilaksanakan sekali lagi, tetapi kali ini dengan data borang.

Mari kita lihat contoh. Katakan kita mempunyai borang dan pemprosesannya dalam satu fail:

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

Pada kali pertama masuk ke halaman, fungsi var_dump akan memaparkan array kosong. Dan selepas borang dihantar ia akan memaparkan data borang. Iaitu, kali pertama $_GET akan kosong, dan kali kedua - akan mengandungi data borang.

Ini boleh menyebabkan masalah. Katakan, sebagai contoh, kami akan memasukkan nombor ke dalam borang dan mahu memaparkan jumlah nombor-nombor ini pada skrin:

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

Dalam kes ini, pada kali pertama masuk ke halaman kita akan melihat ralat PHP, berkaitan dengan fakta bahawa array $_GET kosong, dan kita mengakses elemen-elemennya.

Perlu disebut di sini bahawa ralat mungkin tidak muncul dalam pelayar anda. Dalam kes ini, periksa sama ada output ralat PHP dihidupkan, dan juga pastikan bahawa ini adalah kali pertama anda masuk ke halaman dan tiada data borang dalam bar alamat.

Mari kita betulkan masalah ini. Untuk melakukan ini, mari tambahkan syarat, di mana kita akan memeriksa sama ada borang telah dihantar.

Sebagai contoh, anda boleh menyemak $_GET untuk ketidakkosongan. Jika $_GET tidak kosong - maka borang telah dihantar dan anda boleh melaksanakan penambahan. Jika tidak, ini masih lagi kali pertama masuk ke halaman dan penambahan tidak akan dilaksanakan. Jadi, berikut adalah kod yang dibetulkan:

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

Tanya pengguna untuk nama keluarga, nama pertama dan nama bapa. Selepas borang dihantar, paparkan data yang dimasukkan pada skrin.

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