1 PEMROGRAMAN WEB PHP FORMS 09 MEI 2016 MUHMMAD NAWAWI /2 PHP FORM HANDLING PHP superglobal $_GET dan $_POST digunakan untuk mengumpulkan data dari fo...
PHP superglobal $_GET dan $_POST digunakan untuk mengumpulkan data dari form
PHP – A SIMPLE HTML FORM Dibawah ini merupakan contoh tampilan dari form HTML sederhana dengan dua inputan dan tombol submit :
Ketika user mengisi form diatas dan menekan tombol submit, makan data dari form di kirimkan pada sebuah proses menuju sebuah file php bernama “welcome.php”. Form data yang dikirimkan menggunakan method HTTP POST. Untuk menampilkan data yang telah dikirimkan sebelumnya gunakan echo pada semua variables. Pada “welcome.php: menampilkan seperti dibawah ini :
Welcome Your email address is: 2110131001
PHP FORMS
Maka tampilan outputnya akan menjadi seperti ini : Welcome John Your email address is [email protected]
Hasil yang sama akan ditampilkan jika menggunakan method HTTP GET : Contoh :
2110131001
PHP FORMS
Dan “welcome.php” akan memiliki tampilan seperti berikut : Welcome Your email address is:
Code diatas sangan mudah. Namun, hampir keseluruhan bagian terpenting hilang. Anda perlu menggunakan validasi form untuk melindungi skrip dari code yang berbahaya.
GET VS POST Keduanya GET dan POST membuat sebuah array(e.g. array( key => value, key2 => value2, key3 => value3, ...)). Array ini memegang key/nilai yang disamakan, dimana key adalah nama yang berada pada form kontrol dan nilai yang di inputkan user.
Kedua GET dan POST diperlakukan sebagai $_GET dan $_POST. Ini adalah sangat umum, yang berarti mereka selalu dapat diakses, terlepas dari ruang lingkup dan ana dapat mengaksesnya dengan berbagai fungsi,kelas atau file tanpa mempunyai sesuatu yang spesial. $_GET adalah sebuah array yang variablenya di lewatkan pada parameter URL $_POST adalah sebuah variablee yang di lewatkan pada sebuah skrip melalui method HTTP POST.
KAPAN MENGGUNAKAN GET? Informasi yang dikirim dari sebuah form menggunakan method get adalah dapat dilihat oleh siapapun(semua nama variable dan nilai dapat dilihat pada URL). GET juga memiliki limit pada jumlah informasi yang akan di kirimkan. Batasnya adalah 2000 karakters. Namun, karena dapat dilihat dan ditampilkan pada URL, masih di mungkinkan untuk di bookmark pada sebuah halaman. Hal itu dapat di contoh pada beberapa kasus. GET dapat digunakan untuk mengirimkan data yang tidak sensitif.
KAPAN MENGGUNAKAN POST?
2110131001
PHP FORMS
Informasi yang dikirimkan pada method POST bersifat tak terlihat pada hal lain(Semua variable/nilai menempel dengan badan pada HTTP request) dan memiliki tanpa batas jumlah yang akan dikirimkan. Selain itu,POST mendukung fungsi terdepan yang mendukung untuk multi-bagian binary input ketika mengunggah file pada server. Namun, karena variablenya tidak ditampilkan pada URL, itu hal yang sulit untuk memberikan bookmark pada halaman tersebut.
2110131001
PHP FORMS
PHP 5 Form Validation PHP Form Validation Pikirkan keamanan saat memproses PHP form! Laman ini akan menunjukkan bagaimana cara memproses php form dengan aman. Validasi yang benar dari form data itu penting untuk melindungi form dari hacker dan spammer! HTML form yang akan dikerjakan pada bab ini, mengandung berbagai macam input fields: text field required dan optional, radio button, dan sebuah submit button: Aturan validasi untuk form diatas adalah : Fields Name
Aturan Validasi Required. + Harus terdiri hanya atas huruf dan whitespace
E-mail
Required. + Harus terdiri atas alamat email yang valid (dengan @ dan .)
Website
Optional. Jika diisi harus mengandung URL valid
Comment
Optional. Multi-line input field (textarea)
Gender
Required. Harus memilih salah satu
pertama lihat HTML code untuk form:
Text Fields Name, email, dan website field adalah element text input, dan comment field adalah textarea. HTML code akan tampak seperti ini:
Name: E-mail: Website: Comment:
2110131001
PHP FORMS
Radio Buttons Gender field adalah radio button dan kode HTML nya tampak seperti ini: Gender: Female Male
The Form Element HTML code dari form nya tampak seperti ini:
2110131001
PHP FORMS
2110131001
PHP FORMS
2110131001
PHP FORMS
Langkah berikutnya adalah untuk memvalidasi data input, yang "Apakah bidang Nama hanya berisi huruf dan spasi?", Dan "Apakah bidang E -mail berisi sintaks alamat e - mail yang valid?", Dan jika diisi seluruhnya, "Apakah field website berisi URL yang valid?".
2110131001
PHP FORMS
PHP - Validasi E-mail & URL PHP - Validasi Nama Kode berikut menunjukkan cara mudah untuk mengecek jika field nama hanya mengandung huruf dan spasi. Jika nilai dari field nama tidak valid, maka menyimpan pesan kesalahan: $name = test_input($_POST["name"]); if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Only letters and white space allowed"; } // Fungsi preg_match() mencari pola pada string, mengembalikan true jika pola ada, dan false jika tidak.
PHP - Validasi E-mail Cara termudah dan aman untuk mengecek apakah alamat email sesuai kaidah dengan menggunakan fungsi filter_var(). Pada kode berikut, jika alamat email tidak sesuai kaidah, maka menyimpan pesan kesalahan: $email = test_input($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; }
PHP - Validasi URL Kode berikut mengecek apakah alamat URL valid (regular expression berikut memperbolehkan '-' pada URL). Jika alamat URL tidak valid, maka menyimpan pesan kesalahan: $website = test_input($_POST["website"]); if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z09+&@#\/%=~_|]/i",$website)) { $websiteErr = "Invalid URL"; }
PHP - Validasi Nama, E-mail, dan URL Kodenya akan terlihat seperti ini: Contoh
PHP FORMS
$nameErr = $emailErr = $genderErr = $websiteErr = ""; $name = $email = $gender = $comment = $website = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["name"])) { $nameErr = "Name is required"; } else { $name = test_input($_POST["name"]); // check if name only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$name)) { $nameErr = "Only letters and white space allowed"; } } if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = test_input($_POST["email"]); // check if e-mail address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } } if (empty($_POST["website"])) { $website = ""; } else { $website = test_input($_POST["website"]); // check if URL address syntax is valid (this regular expression also allows dashes in the URL) if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;] *[-a-z0-9+&@#\/%=~_|]/i", $website)) { $websiteErr = "Invalid URL"; } } if (empty($_POST["comment"])) { $comment = ""; } else { $comment = test_input($_POST["comment"]); } if (empty($_POST["gender"])) { 2110131001
PHP - Complete Form PHP - Menyimpan Nilai dalam Form Untuk menampilkan nilai-nilai dalam field input setelah pengguna menekan tombol submit, kita tambahkan script PHP kecil di dalam atribut nilai field input berikut: nama, email, dan website. Di bidang komentar textarea, kami menempatkan script antara