Penanganan Formulir PHP 1
Agenda Materi Pengayaan Pertemuan Sebelumnya Formulir HTML Jenis Masukan Pada Formulir HTML Metode Pengiriman Formulir Validasi Formulir 2
MATERI PENGAYAAN PERTEMUAN SEBELUMNYA 3
Content NegoBaBon Tujuan negosiasi konten adalah memberikan konten terbaik untuk klien/user- agent. Terdapat 2 + 1 jenis yang didukung oleh HTTP, yaitu: Server- driven negobabon Agent- driven negobabon Transparent negobabon 4
Contoh Content NegoBaBon Beberapa penerapan dari negosiasi konten yang populer: Fitur mulb- bahasa Format media yang menyesuaikan dengan kemampuan akses peranb (misal: GIF, PNG) Format representasi sesuai permintaan user- agent (misal: HTML, XML, JSON) Konten dinamis yang menyesuaikan dengan jenis user- agent. 5
Referensi Tentang Negosiasi Konten RFC 2616 tentang HTTP 1.1 RFC 2295 tentang Transparent Content NegoBaBon in HTTP RFC 2296 tentang HTTP Remote Variant SelecBon Algorithm 6
FORMULIR HTML 7
Contoh Formulir HTML <form action="login.php" method="post"> <label for="email">email: </label> <input type="email" name="email"><br> <label for="password">password: </label> <input type="password" name="password"><br> <input type="submit" value="login"> </form> 8
Jenis Masukan Standar Pada Formulir HTML Text Fields <input type="text" name="alamat" /> Password Field <input type="password" name ="sandi" /> Radio BuZons <input type="radio" name= prodi" value= IF" /> <input type="radio" name= prodi" value= SI" /> Checkboxes <input type="checkbox" name="vehicle" value="bike" /> Submit BuZon <input type="submit" value="kirim" /> Hidden fields <input type="hidden" name="kode_rahasia" value="pw2014" /> 9
Autocomplete (1) Beberapa cara implementasi fitur autocomplete: HTML form & input autocomplete azribute <form action="daftar.php" method="post" autocomplete="on"> Jurusan: <input type="text" name="jurusan"><br> NIM: <input type="text" name="nim" autocomplete="off"><br> <input type="submit" value="daftar"> </form> 10
Autocomplete (2) HTML datalist (Bdak didukung Safari) <input list= perguruan- tinggi"> <datalist id= perguruan- tinggi"> <option value= Universitas Brawijaya"> <option value= Institut Teknologi Bandung"> <option value= Universitas Indonesia"> <option value= Universitas Padjadjaran"> <option value= Institut Pertanian Bogor"> </datalist> Javascript + AJAX 11
Metode Pengiriman Formulir HTML GET HTTP method: GET Dikirim melalui URL pada bagian query string POST HTTP method: POST Dikirim melalui request body 12
Penanganan Formulir Pada PHP GET <html> <body> Halo <?php echo $_GET["nama"];?>!<br> Email Anda <?php echo $_GET["email"];?>. </body> </html> POST <html> <body> Halo <?php echo $_POST["nama"];?>!<br> Email Anda <?php echo $_POST["email"];?>. </body> </html> 13
HTTP GET Termasuk kategori: Safe method Idempotent method SemanBk HTTP GET adalah: menampilkan/ mengambil/menerima apapun informasi yang diidenbfikasi oleh URL pada request. (RFC 2616) SemanBk HTTP GET lainnya adalah: CondiBonal GET ParBal GET 14
HTTP POST Termasuk kategori Tidak harus safe Tidak harus idempotent SemanBk HTTP POST adalah: mengirim data dalam request body, dimana data tersebut akan diproses menjadi subordinat dari resource yang teridenbfikasi pada request URL. (RFC 2616) Akan tetapi, sebenarnya POST dapat kita manfaatkan secara sangat fleksibel sesuai dengan kebutuhan, Bdak terbatas seperb semanbk di atas. 15
HTTP Method Lainnya* * Formulir HTML hanya mendukung HTTP method GET dan POST HEAD PUT DELETE TRACE CONNECT (baca RFC- 2616 untuk lebih detailnya) 16
Validasi Formulir Validasi sisi klien Validasi sisi server 17
Contoh Fungsi Validasi Email function validasi_email($email) { } if (filter_var($email, FILTER_VALIDATE_EMAIL)) { return true; } else return false; 18