Variabel $_GET dan $_POST di PHP digunakan untuk mengambil informasi dari formulir, seperti input pengguna.
Satu hal penting yang perlu diperhatikan adalah ketika memproses formulir HTML, PHP dapat secara otomatis membuat elemen formulir dari halaman HTML tersedia untuk skrip PHP.
Contoh di bawah ini berisi formulir HTML dengan dua kolom input dan tombol kirim.
<html><head><metacharset="utf-8"><title>Jaringan Kode Sumber (downcodes.com)</title></head><body> <formaction="welcome.php"method="post" > Nama: <inputtype="text"name="fname">Usia: <inputtype="text"name="age"><inputtype="submit"value="submit"></form> </body>< /html>
Ketika pengguna mengisi formulir di atas dan mengklik tombol kirim, data formulir akan dikirim ke file PHP bernama "welcome.php":
Selamat datang<?phpecho$_POST["fname"]; ?>!<br>Umur Anda <?phpecho$_POST["age"];
Kami akan menjelaskan variabel $_GET dan $_POST di PHP pada bab selanjutnya.
Pada contoh berikut, kita menetapkan tiga opsi untuk menu drop-down. Formulir menggunakan metode GET untuk mendapatkan data. Jika nilai atribut tindakan kosong, berarti dikirimkan ke skrip saat ini menu tarik-turun melalui atribut nama pilih:
<?php$q= isset($_GET['q'])? htmlkarakter khusus($_GET['q']): '';if($q){ if($q=='CODERCTO'){ echo' Jaringan kode sumber<br>http://www.downcodes.com'; }elseif($q=='GOOGLE'){ echo'penelusuran Google<br>http://www.google.com'; }elseif($q=='TAOBAO'){ echo'Taobao<br>http://www.taobao.com'; }}else{?><formaction=""method="get"> <selectname=" q"> <optionvalue="">Pilih situs:</option> <optionvalue="CODERCTO">codercto</option> <optionvalue="GOOGLE">Google</option> <optionvalue="TAOBAO">Taobao</option> </select> <inputtype="submit"value="submit"> </form><?php}?>
Jika menu drop-downnya multi-pilih (multiple="multiple"), kita bisa mendapatkannya dengan mengatur select name="q[]" sebagai array, dan mengirimkannya menggunakan POST. Kodenya adalah sebagai berikut:
<?php$q= isset($_POST['q'])? $_POST['q']: '';if(is_array($q)){ $sites= array( 'CODERCTO'=> 'Kode Sumber Jaringan : http://www.downcodes.com', 'GOOGLE'=> 'Penelusuran Google: http://www.google.com', 'TAOBAO'=> 'Taobao: http://www.taobao.com', ); foreach($qas$val){ //PHP_EOL adalah konstanta, digunakan untuk jeda baris echo$sites[$val]. PHP_EOL; =" "method="post"> <selectmultiple="multiple"name="q[]"> <optionvalue="">Pilih situs:</option> <optionvalue="CODERCTO">codercto</option> <optionvalue="GOOGLE">Google</option> <optionvalue="TAOBAO">Taobao</option> </select> <inputtype="submit"value="Submit"> </form><?php}?>
Nilai atribut nama pada bentuk radio button PHP sama, namun nilai nilainya berbeda-beda.
<?php$q= isset($_GET['q'])? htmlkarakter khusus($_GET['q']): '';if($q){ if($q=='CODERCTO'){ echo' Jaringan kode sumber<br>http://www.downcodes.com'; }elseif($q=='GOOGLE'){ echo'penelusuran Google<br>http://www.google.com'; }elseif($q=='TAOBAO'){ echo'Taobao<br>http://www.taobao.com'; }}else{?><formaction=""method="get"> <inputtype=" radio"name="q"value="CODERCTO"/>pembuat kode <inputtype="radio"name="q"value="GOOGLE"/>Google <inputtype="radio"name="q"value="TAOBAO"/>Taobao <inputtype="submit"value="submit"></form><?php}?>
Kotak centang PHP dapat memilih beberapa nilai:
<?php$q= isset($_POST['q'])? $_POST['q']: '';if(is_array($q)){ $sites= array( 'CODERCTO'=> 'Kode Sumber Jaringan : http://www.downcodes.com', 'GOOGLE'=> 'Penelusuran Google: http://www.google.com', 'TAOBAO'=> 'Taobao: http://www.taobao.com', ); foreach($qas$val){ //PHP_EOL adalah konstanta, digunakan untuk jeda baris echo$sites[$val]. PHP_EOL; =" "method="post"> <inputtype="checkbox"name="q[]"value="CODERCTO">pembuat kode<br> <inputtype="checkbox"name="q[]"value="GOOGLE">Google<br> <inputtype="checkbox"name="q[]"value="TAOBAO">Taobao<br> <inputtype=" kirimkan"value="kirim"></form><?php}?>
Kita harus memvalidasi masukan pengguna bila memungkinkan (melalui skrip sisi klien). Validasi browser lebih cepat dan mengurangi tekanan pada server.
Jika input pengguna perlu dimasukkan ke dalam database, Anda harus mempertimbangkan untuk menggunakan validasi server. Cara yang baik untuk memvalidasi formulir di server adalah dengan meneruskan data formulir ke halaman saat ini (pengiriman asinkron lebih baik), daripada melompat ke halaman lain. Dengan cara ini pengguna bisa mendapatkan pesan kesalahan pada halaman formulir yang sama. Pengguna akan lebih mudah menemukan kesalahan.