Belajar PHP dan MySQL dari NOL – Part III (Semua Operator)
Formulir alias FORM
Bentuk selalu menjadi salah satu cara tercepat dan termudah untuk menambahkan interaktivitas ke situs Web Anda. Suatu bentuk memungkinkan Anda untuk menanyakan pelanggan apakah mereka menyukai produk Anda, kasual pengunjung untuk komentar pada situs Anda, dan gadis-gadis cantik untuk nomor telepon mereka. Dan PHP dapat menyederhanakan tugas pengolahan data yang dihasilkan dari sebuah formulir berbasis Web secara substansial, sebagai contoh pertama ini menunjukkan. Contoh ini berisi dua script, yang mengandung bentuk HTML (bernama form.htm) dan bentuk lain yang berisi logika pengolahan (message.php). Here’s form.htm:
1 2 3 4 5 6 7 8 9 |
<html> <head></head> <body> <form action="message.php" method="post"> Enter your message: <input type="text" name="msg" size="30"> <input type="submit" value="Send"> </form> </body> </html> |
Garis kritis di halaman ini adalah tag <form>
1 2 3 |
<form action="message.php" method="post"> ... </form> |
Seperti yang Anda mungkin sudah tahu, “action” attribute dari tag <form> menentukan nama server-side script (message.php dalam kasus ini) yang akan memproses informasi yang dimasukkan ke dalam formulir. The “metode” atribut menentukan bagaimana informasi akan dilewatkan.
Dan Fungsi…
Sekarang untuk setengah lainnya dari teka-teki: yang message.php script. Script ini membaca data yang diajukan oleh pengguna dan “melakukan sesuatu dengan itu”.
Berikut adalah message.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<html> <head></head> <body> <?php // Mengambil data formulir $input = $_POST['msg']; // Menggunakannya echo "You said: <i>$input</i>"; ?> </body> </html> |
Bila Anda memasukkan beberapa data ke form.htm (katakanlah “Boo”), dan menyerahkan itu, bentuk message.php prosesor akan membacanya dan menampilkannya untuk Anda ( “Anda berkata: Boo”). Jadi, ketika formulir dikirimkan ke sebuah skrip PHP, semua pasangan variabel-nilai dalam bentuk yang secara otomatis menjadi tersedia untuk digunakan dalam naskah, melalui wadah PHP khusus variabel: $_POST. Anda dapat mengakses nilai variabel dari form dengan menggunakan dengan “nama” di dalam $_POST wadah, seperti yang saya lakukan dalam script di atas.
Jelas, PHP juga mendukung metode GET form. Yang perlu Anda lakukan adalah mengubah “metode” atribut untuk “mendapatkan”, dan mengambil nilai dari $_GET, bukan $_POST. The $_GET dan $_POST variabel sebenarnya tipe khusus hewan PHP disebut sebuah array, yang saya akan mengajar Anda tentang men. Jangan khawatir terlalu banyak tentang hal ini pada saat ini, tapi pastikan Anda merasa nyaman dengan mengambil nilai-nilai sederhana dari formulir dengan PHP, dan kemudian gulir di bawah untuk belajar tentang beberapa operator yang berguna dalam konteks ini.
Operasi Dengan Extreme Perhatian
Sejauh ini, script yang telah kita bahas telah cukup bodoh. Semua yang mereka lakukan adalah menambahkan angka dan string, dan membaca kembali kepada Anda data yang Anda ketik pada diri sendiri – tidak benar-benar luar biasa. Untuk menambahkan beberapa kecerdasan script Anda, Anda perlu tahu bagaimana membangun apa Geeks sebut “pernyataan kondisional” – sebuah pernyataan yang dapat digunakan skrip Anda melakukan salah satu dari serangkaian tindakan yang mungkin didasarkan pada hasil tes perbandingan. Dan karena dasar dari pernyataan kondisional adalah perbandingan, pertama anda perlu mengetahui bagaimana untuk membandingkan dua variabel dan menentukan apakah mereka sama atau berbeda.
Kau sudah melihat beberapa PHP aritmatika dan string operator. Namun, bahasa juga dilengkapi dengan operator yang dirancang khusus untuk membandingkan dua nilai: yang disebut “operator perbandingan”. Berikut ini adalah contoh yang menunjukkan mereka dalam tindakan:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
<?php /* Mendefinisikan beberapa variabel */ $mean = 9; $median = 10; $mode = 9; // Kurang dari operator // Mengembalikan nilai true jika sisi kiri kurang dari kanan // Returns true disini $result = ($mean < $median); print "Hasilnya adalah $result<br />"; // Lebih-dari operator // Mengembalikan nilai true jika sisi kiri lebih besar dari kanan // Returns false disini $result = ($mean > $median); print "Hasilnya adalah $result<br />"; // Kurang-dari-atau-sama-untuk operator // Mengembalikan nilai true jika sisi kiri kurang dari atau sama dengan benar // Returns false disini $result = ($median <= $mode); print "Hasilnya adalah $result<br />"; // Lebih besar-daripada-atau-sama-untuk operator // Mengembalikan nilai true jika sisi kiri lebih besar dari atau sama dengan benar // Returns true disini $result = ($median >= $mode); print "Hasilnya adalah $result<br />"; // Kesetaraan operator // Mengembalikan nilai true jika sama sisi kiri ke kanan // Returns true disini $result = ($mean == $mode); print "Hasilnya adalah $result<br />"; // Tidak-sama-untuk operator // Mengembalikan nilai true jika sisi kiri tidak sama dengan benar // Returns false disini $result = ($mean != $mode); print "Hasilnya adalah $result<br />"; // Ketidaksetaraan operator // Mengembalikan nilai true jika sisi kiri tidak sama dengan benar // Returns false disini $result = ($mean <> $mode); print "Hasilnya adalah $result"; ?> |
Hasil tes perbandingan selalu Boolean: bisa benar (1) atau false (0 – yang tidak mencetak apa pun). Hal ini membuat operator perbandingan merupakan bagian tak terpisahkan dari toolkit Anda, karena Anda dapat menggunakannya dalam kombinasi dengan pernyataan kondisional untuk mengirim naskah ke salah satu dari tindakan yang beberapa path.
PHP 4.0 juga memperkenalkan operator pembanding baru, yang memungkinkan Anda untuk menguji baik untuk kesetaraan dan ketik: yang === operator. Contoh berikut menunjukkan hal itu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php /* Mendefinisikan dua variabel */ $str = '10'; $int = 10; /* Mengembalikan nilai true, karena kedua variabel mengandung nilai yang sama */ $result = ($str == $int); print "result is $result<br />"; /* Returns false, karena variabel bukan dari jenis yang sama meskipun mereka memiliki nilai yang sama */ $result = ($str === $int); print "result is $result<br />"; /* Mengembalikan nilai true, karena variabel tipe yang sama dan nilai */ $anotherInt = 10; $result = ($anotherInt === $int); print "result is $result"; ?> |
Baca lebih lanjut mengenai PHP di http://www.php.net/manual/en/language.operators.comparison.php operator perbandingan.
Logika pertanyaan
Selain operator perbandingan Dulu aku begitu secara bebas di atas, PHP juga menyediakan empat operator logika, yang dirancang untuk ekspresi kondisional grup bersama-sama. Keempat operator – logika DAN (AND), logika ATAU (OR), logika (XOR) dan logika TIDAK (NOT) – diilustrasikan dalam contoh berikut:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php /* Mendefinisikan beberapa variabel */ $auth = 1; $status = 1; $role = 4; /* Logika DAN (AND) mengembalikan nilai true jika semua kondisi adalah benar */ // returns true $result = (($auth == 1) && ($status != 0)); print "result is $result<br />"; /* Logika ATAU (OR) mengembalikan nilai true jika kondisi apapun benar */ // returns true $result = (($status == 1) || ($role <= 2)); print "result is $result<br />"; /* Logika TIDAK (NOT) mengembalikan nilai true jika kondisi salah dan sebaliknya */ // returns false $result = !($status == 1); print "result is $result<br />"; /* Logika XOR mengembalikan nilai true jika salah satu dari dua kondisi yang benar, atau returns false jika kedua kondisi adalah benar */ // returns false $result = (($status == 1) xor ($auth == 1)); print "result is $result<br />"; ?> |
Logis operator memainkan peran penting dalam membangun pernyataan bersyarat, karena mereka dapat digunakan untuk menghubungkan bersama kondisi terkait sederhana dan elegan. Tampilkan lebih banyak contoh bagaimana mereka dapat digunakan di http://www.php.net/manual/en/language.operators.logical.php.
Tua Tapi Tidak bijaksana
Sekarang bahwa Anda telah belajar semua tentang perbandingan dan operator logika, saya dapat mengajar Anda tentang pernyataan bersyarat. Seperti dicatat sebelumnya, pernyataan kondisional memungkinkan Anda untuk menguji apakah kondisi tertentu adalah benar atau salah, dan melakukan tindakan yang berbeda berdasarkan hasil. Di PHP, bentuk yang paling sederhana dari pernyataan kondisional adalah jika () pernyataan, yang terlihat seperti ini:
1 2 3 |
if (kondisi) { lakukan ini! } |
Mari saya tunjukkan bagaimana jika () bekerja dengan menggabungkan pernyataan dengan formulir. Dalam contoh ini, user diminta untuk memasukkan usia nya.
1 2 3 4 5 6 7 8 |
<html> <head></head> <body> <form action="ageist.php" method="post"> Masukkan umur: <input name="umur" size="2"> </form> </body> </html> |
Tergantung pada apakah umur yang dimasukkan di atas atau di bawah 21, sebuah pesan yang berbeda ditampilkan oleh script ageist.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<html> <head> </head> <body> <?php // Mengambil data formulir $umur = $_POST ['umur']; // Periksa nilai masuk dan cabang if ($umur >= 21) { echo 'Anda boleh bergabung di komunitas ini!'; } if ($umur < 21) { echo 'Anda terlalu muda untuk gabung, kembali lagi jika sudah lebih tua ya :)'; } ?> </body> </html> |
Jika Bukan Ini, Lalu Apa?
Di samping jika () pernyataan, PHP juga menawarkan jika-lain membangun, yang digunakan untuk menetapkan satu blok kode yang dijalankan ketika ekspresi kondisional dalam if () mengevaluasi pernyataan sebagai palsu.
Jika-lain yang membuat tampak seperti ini:
1 2 3 4 5 |
if (kondisi) { lakukan ini! } else { lakukan ini! } |
Membangun ini dapat digunakan untuk efek yang besar dalam contoh terakhir: kita bisa menggabungkan dua terpisah jika () pernyataan ke dalam satu pernyataan jika-lain.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<html> <head> </head> <body> <?php // Mengambil data formulir $umur = $_POST ['umur']; // Periksa nilai masuk dan cabang if ($umur> = 21) { echo 'Anda boleh bergabung di komunitas ini!'; } else { echo 'Anda terlalu muda untuk gabung, kembali lagi jika sudah lebih tua ya :)'; } ?> </body> </html> |
Penyebaran Kebingungan
Jika pikiran membingungkan orang yang membaca kode Anda membuat Anda merasa hangat dan kesemutan, Anda akan mencintai terner operator, diwakili dengan tanda tanya (?). Operator ini, yang memungkinkan Anda membuat pernyataan bersyarat Anda hampir tidak dapat dimengerti, menyediakan sintaks pintas untuk menciptakan satu-pernyataan jika-lain blok. Jadi, sementara Anda bisa melakukan ini:
1 2 3 4 5 6 7 8 9 |
<?php if($numTries > 10) { $msg = 'blokir account Anda ...'; } else { $msg = 'Selamat datang!'; } ?> |
Anda juga dapat melakukan hal ini, yang setara (dan jauh lebih menyenangkan):
1 2 3 4 5 |
<?php $msg = $numTries > 10 ? 'Blokir account Anda ...' : 'Selamat datang!'; ?> |
PHP juga memungkinkan Anda “sarang” pernyataan bersyarat di dalam satu sama lain. Sebagai contoh, hal ini sepenuhnya sah kode PHP:
1 2 3 4 5 6 7 8 9 10 11 |
<?php if ($hari == 'Kamis') { if ($waktu == '0800') { if ($negara == 'Indonesia') { $makan = 'daging dan telur'; } } } ?> |
Lain yang lebih elegan untuk menulis di atas adalah dengan serangkaian logis operator:
1 2 3 4 5 6 7 |
<?php if ($hari == 'Kamis' && $waktu == '0800' && $negara =='Indonesia') { $makan = 'daging dan telur'; } ?> |
Daily Khusus
PHP juga menyediakan Anda dengan cara menangani beberapa kemungkinan: yang jika-elseif-lain membangun. Tipikal kalau-elseif-lain blok pernyataan akan terlihat seperti ini:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php if (kondisi pertama benar) { melakukan ini! } elseif (kondisi kedua benar) { melakukan ini! } elseif (kondisi ketiga benar) { melakukan ini! ... dan seterusnya ... } else { melakukan ini! } ?> |
Dan inilah sebuah contoh yang menunjukkan bagaimana menggunakannya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<html> <head> </head> <body> <h2> Today's Special </ h2> <p> <form method="get" action="cooking.php"> <select name="hari"> <option value="1"> Senin / Rabu <option value="2"> Selasa / Kamis <option value="3"> Jumat / Minggu <option value="4"> Sabtu </select> <input type="submit" value="Kirim"> </form> </body> </html> |
Seperti yang anda lihat, ini hanyalah sebuah bentuk yang memungkinkan Anda untuk memilih satu hari dalam seminggu. Pekerjaan yang sebenarnya dilakukan oleh script PHP cooking.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<html> <head> </head> <body> <?php // Mendapatkan pilihan formulir $hari = $_GET ['hari']; // Periksa nilai dan pilih item yang sesuai if ($hari == 1) { $khusus = 'ayam dalam saus tiram'; } elseif ($hari == 2) { $khusus = 'sup bawang perancis'; } elseif ($hari == 3) { $khusus = 'ikan asin dengan kentang tumbuk dan salad hijau'; } else { $khusus = 'nasi goreng special pake telor'; } ?> <h2> Makanan khusus hari ini adalah: </h2> <?php echo $khusus; ?> </body> </html> |
Dalam kasus ini, saya telah menggunakan if-elseif-else kontrol untuk menetapkan struktur menu yang berbeda untuk setiap kombinasi khusus hari. Perhatikan bahwa segera sebagai salah satu jika () cabang dalam blok ditemukan untuk menjadi kenyataan, PHP akan mengeksekusi kode yang sesuai, melewatkan sisa jika () pernyataan di blok, dan melompat dengan segera kepada seluruh baris berikut if-elseif-lain blok.
Dan hanya itu untuk saat ini. Untuk melihat lebih banyak contoh pernyataan kondisional dalam tindakan, kunjungi http://www.php.net/manual/en/language.control-structures.php. Di Bagian Tiga, aku akan membawa Anda lebih banyak kendali struktur, lebih operator dan lebih aneh dan gila skrip.
Sumber: http://devzone.zend.com/node/view/id/626
Diterjemahkan oleh: http://translate.google.com dan disadur oleh jinbatsu (jwd)
wah.. sep-sep…
makasih..
AQ tunggu part selanjutnya. Aq ngikutin trz dari part I. AQ hrp ada terus tutorialnya sampai bisa bikin website sendiri tanpa bantuan CMS. Makasih infonya, aq bkl sering2 berkunjung…
Bahasanya kok terjemahan Bulat (mirip google translate).
Susah dimengerti, harusnya Oom Jawad menyesuaikan dgn bhs kita
biar mudah dimengerti. Kalau ini kan langsung di gelontorkan dari hasil translate…Walau diedit tp kan tetap menyebutkan sumbernya ga papa lho..
Ni baru baca sampai part III semuanya bahasanya kacau.
Btw, trim`s udah peduli sama yg blm bisa PHP & MySQL.
@Mail, terimakasih atas respon nya, kan saya sudah mencantumkan dan juga me link sumber nya, coba di cek lagi tiap artikel nya dibagian bawah, malah saya jelaskan jg bahwa ini hasil google translate 🙂
cek yg bener ya..
mantap