Dalam php, "$_get" digunakan untuk mengumpul nilai daripada borang dengan "method="get"", iaitu untuk menerima data borang yang dihantar menggunakan kaedah GET dalam borang borang; $_post" digunakan untuk Mengumpul nilai dari borang dengan "method="post"", iaitu mendapatkan data borang yang dihantar oleh permintaan POST.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi PHP 7.1, komputer DELL G3
Gunakan dua kaedah mendapatkan dan menghantar masuk PHP Terima nilai daripada borang borang Dalam borang borang, anda boleh menentukan kaedah penerimaan PHP dan alamat penerimaan.
Kaedah dapatkan dan hantar terutamanya mempunyai perbezaan berikut.
get menambah baris gilir data parameter ke URL yang ditunjukkan oleh atribut tindakan bagi borang yang diserahkan Nilai sepadan dengan setiap medan dalam bentuk satu-satu dan boleh dilihat dalam URL. Siaran menggunakan mekanisme siaran HTTP untuk meletakkan setiap medan dalam bentuk dan kandungannya dalam HEADER HTML dan menghantarnya ke alamat URL yang ditunjukkan oleh atribut tindakan Pengguna tidak dapat melihat proses ini.
dapatkan Jumlah data yang dipindahkan adalah kecil dan tidak boleh lebih besar daripada 2KB, terutamanya kerana had panjang URL. Jumlah data yang dihantar melalui pos adalah agak besar, dan ia biasanya tidak terhad secara lalai.
Keselamatan get adalah sangat rendah, dan keselamatan jawatan lebih tinggi, tetapi kecekapan pelaksanaan get lebih baik daripada kaedah pos.
get ialah kaedah lalai borang.
Adalah disyorkan untuk menggunakan kaedah penyerahan data pos apabila data yang dihantar mengandungi maklumat sulit, kaedah dapatkan semasa melakukan pertanyaan data dan kaedah siaran semasa menambah, mengubah suai atau memadam data.
$_POST pembolehubah global
Kaedah POST tidak bergantung pada URL dan tidak memaparkan nilai parameter yang diluluskan dalam bar alamat. Di samping itu, kaedah POST boleh memindahkan data ke pelayan tanpa sekatan Semua maklumat yang dihantar dihantar di latar belakang Pengguna tidak dapat melihat proses ini di bahagian pelayar, jadi keselamatan agak tinggi. Oleh itu, kaedah POST lebih sesuai untuk menghantar beberapa maklumat penting (seperti nombor kad kredit) atau jumlah data yang agak besar ke pelayan.
Petua: Secara lalai, saiz maksimum maklumat yang dihantar melalui kaedah POST ialah 8MB, yang boleh ditukar kemudian dengan mengubah suai nilai post_max_size dalam fail konfigurasi php.ini.
Pembolehubah global $_POST PHP digunakan secara khusus untuk mendapatkan data borang yang dihantar oleh permintaan POST. Struktur datanya ialah tatasusunan bersekutu Nama kunci tatasusunan ialah nilai nama unsur bentuk, dan nilai tatasusunan ialah nilai bentuk yang sepadan. Dalam proses pembangunan program sebenar, apabila atribut kaedah borang menentukan penggunaan POST untuk penghantaran data, kita harus menggunakan $_POST untuk mendapatkan data borang.
Penggunaan pembolehubah global $_POST adalah sama seperti tatasusunan biasa Data di dalamnya boleh diakses terus dalam bentuk $_POST['nilai utama']. Berikut ialah contoh mudah untuk berdemonstrasi.
[Contoh] Gunakan pembolehubah global $_POST untuk mendapatkan data yang dihantar dalam borang.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="post"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_POST)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_POST); } ?>
Jalankan kod di atas, isikan maklumat yang sesuai dalam kotak input, dan klik butang hantar untuk menghantar maklumat yang diisi dalam borang kepada program PHP. Kemudian program PHP boleh menerima maklumat yang dihantar dalam bentuk melalui $_POST dan memproses maklumat Sebagai contoh, ia boleh menyimpan data ke pangkalan data atau mengeluarkannya ke pelayar, dll. Kod terperinci tidak akan ditunjukkan cuba sendiri.
Pembolehubah global $_GET
Pembolehubah global $_GET adalah serupa dengan pembolehubah global $_POST yang diperkenalkan sebelum ini. Ia digunakan untuk menerima maklumat borang . Untuk data borang yang dihantar menggunakan kaedah GET, kaedah GET ialah kaedah lalai untuk atribut kaedah dalam borang borang. Data borang yang diserahkan menggunakan kaedah GET dilampirkan pada URL dan dihantar ke pelayan sebagai sebahagian daripada URL.
Semasa proses pembangunan program, memandangkan data yang diserahkan oleh kaedah GET dilampirkan pada URL dan dihantar, maklumat jenis "Parameter yang diluluskan oleh pengguna URL" akan dipaparkan dalam bar alamat URL, seperti berikut: Perwakilan:
http://url?name1=value1&name2=value2 ...
Antaranya, url ialah alamat respons borang (seperti http://c.biancheng.net), name1 dan name2 ialah nama elemen borang , dan nilai1 dan nilai2 ialah nilai unsur bentuk. URL dan elemen borang dipisahkan dengan "?", dan berbilang elemen bentuk dipisahkan dengan "&". Format setiap elemen borang ialah "nama=nilai", yang ditetapkan.
Memandangkan penyemak imbas berbeza mempunyai sekatan yang berbeza pada panjang URL, apabila menggunakan kaedah GET untuk menyerahkan data, anda mesti memberi perhatian kepada saiz data Jika panjang data melebihi had penyemak imbas, data akan dipotong, mengakibatkan kehilangan data. Sekatan panjang URL pelayar arus perdana adalah seperti yang ditunjukkan dalam jadual berikut:
游览器 | 最大长度(字符数) |
---|---|
Internet Explorer | 2083 |
Firefox | 65536 |
chrome | 8182 |
Safari | 80000 |
Opera | 190000 |
$_GET 全局变量与 $_POST 的结构相似,同样是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。$_GET 不仅仅可以获取 form 表单的数据,只要是 URL 中的参数都可以使用 $_GET 获取。
另外一点需要注意的是:在 PHP 中使用 $_POST 或者 $_GET 获取表单数据时,是区分大小写的,所以在开发过程中应该注意不能忽略了字母的大小写。
【示例】使用 $_GET 全局变量获取 form 表单中传输的数据。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="get"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_GET)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_GET); } ?>
推荐学习:《PHP视频教程》
Atas ialah kandungan terperinci Cara menggunakan $_get dan $_post dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!