Jumat, 29 Januari 2010

Belajar PHP dan MySQL - Part III


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:


<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>


<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:


<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:


<?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:


<?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:


<?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:


if (kondisi) {
    lakukan ini!
}

Argumen ke jika () adalah sebuah ekspresi kondisional, yang mengevaluasi untuk bisa benar atau salah. Jika untuk mengevaluasi pernyataan benar, semua kode PHP dalam kurung kurawal dieksekusi, jika tidak, kode dalam kurung kurawal adalah melewatkan dan garis-garis mengikuti jika () membangun dijalankan.


Mari saya tunjukkan bagaimana jika () bekerja dengan menggabungkan pernyataan dengan formulir. Dalam contoh ini, user diminta untuk memasukkan usia nya.


<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:


<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:


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.


<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:


<?php
 
if($numTries > 10) {

 $msg = 'blokir account Anda ...';
} else {
 $msg = 'Selamat datang!';

}
 
?>

Anda juga dapat melakukan hal ini, yang setara (dan jauh lebih menyenangkan):


<?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:


<?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:


<?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:


<?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:


<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:


<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.



Semoga bermanfaat. :)


Raymond Software Indonesia
Raymond Software Indonesia Blog

2 komentar:

Nova Imoet mengatakan...

coba untuk ngelamar deh...
sapa tau dpt kerjaan..

Raymond Gintings mengatakan...

Lowongan masih kami buka.