Anda di halaman 1dari 75

PHP 5 Tutorial

PHP adalah bahasa server scripting, dan alat yang ampuh untuk membuat halaman Web dinamis
dan interaktif.

PHP adalah banyak digunakan, bebas, dan alternatif efisien untuk pesaing seperti Microsoft
ASP.

Mudah Belajar dengan "Tampilkan PHP"

Kami "Tampilkan PHP" alat memudahkan untuk belajar PHP, hal itu menunjukkan kedua kode
sumber PHP dan output HTML dari kode.

Klik pada tombol "Misalnya Run" untuk melihat cara kerjanya.

PHP 5 Pendahuluan
script PHP dieksekusi pada server.

Apa yang Harus Anda Sudah Tahu

Sebelum Anda melanjutkan Anda harus memiliki pemahaman dasar sebagai berikut:

 HTML
 CSS
 JavaScript
Jika Anda ingin mempelajari mata pelajaran ini pertama, menemukan tutorial di kami halaman
rumah .

Apa itu PHP?

 PHP adalah singkatan dari "PHP: Hypertext Preprocessor"


 PHP adalah banyak digunakan, open source bahasa scripting
 script PHP dieksekusi pada server
 PHP adalah bebas untuk download dan digunakan

PHP adalah bahasa yang menakjubkan dan populer!

Hal ini cukup kuat untuk menjadi inti dari sistem blogging terbesar di web (WordPress)!
Hal ini cukup dalam untuk menjalankan jaringan sosial terbesar (Facebook)!
Hal ini juga cukup mudah untuk menjadi bahasa sisi server pertama pemula!

Apa itu File PHP?

 file PHP dapat berisi teks, HTML, CSS, JavaScript, dan kode PHP
 Kode PHP dieksekusi pada server, dan hasilnya dikembalikan ke browser sebagai HTML biasa
 file PHP memiliki ekstensi ".php"

Apa yang Bisa PHP Lakukan?

 PHP dapat menghasilkan konten halaman dinamis


 PHP dapat membuat, membuka, membaca, menulis, menghapus, dan menutup file di server
 PHP dapat mengumpulkan data formulir
 PHP dapat mengirim dan menerima cookies
 PHP dapat menambah, menghapus, memodifikasi data dalam database Anda
 PHP dapat digunakan untuk mengontrol user-akses
 PHP dapat mengenkripsi data

Dengan PHP Anda tidak terbatas untuk output HTML. Anda dapat output gambar, file PDF, dan
bahkan film Flash. Anda juga dapat output apapun teks, seperti XHTML dan XML.

Mengapa PHP?

 PHP berjalan pada berbagai platform (Windows, Linux, Unix, Mac OS X, dll)
 PHP kompatibel dengan hampir semua server yang digunakan hari ini (Apache, IIS, dll)
 PHP mendukung berbagai database
 PHP adalah gratis. Download dari sumber daya PHP resmi: www.php.net
 PHP mudah dipelajari dan berjalan efisien pada sisi server

PHP 5 Instalasi
Apa yang saya butuhkan?

Untuk mulai menggunakan PHP, Anda dapat:

 Menemukan web host dengan PHP dan MySQL dukungan


 Menginstal web server pada PC Anda sendiri, dan kemudian menginstal PHP dan MySQL

Gunakan Web Host Dengan Dukungan PHP

Jika server Anda telah mengaktifkan dukungan untuk PHP Anda tidak perlu melakukan apa-apa.

Hanya membuat beberapa file php, menempatkan mereka dalam direktori web Anda, dan server
akan secara otomatis menguraikannya untuk Anda.

Anda tidak perlu untuk mengkompilasi sesuatu atau memasang alat tambahan.

Karena PHP gratis, kebanyakan web host menawarkan dukungan PHP.

Set Up PHP pada PC Anda Sendiri

Namun, jika server Anda tidak mendukung PHP, Anda harus:

 menginstal web server


 install PHP
 menginstal database, seperti MySQL

Situs PHP resmi (PHP.net) memiliki petunjuk instalasi untuk PHP:


http://php.net/manual/en/install.php

PHP 5 Syntax
Sebuah script PHP dijalankan di server, dan hasil HTML biasa dikirim kembali ke browser.
Dasar PHP Sintaks

Sebuah script PHP dapat ditempatkan di manapun dalam dokumen.

Sebuah script PHP dimulai dengan <php? Dan diakhiri dengan ?> :

<?php
// PHP code goes here
?>

Ekstensi file default untuk file PHP adalah ".php".

Sebuah file PHP biasanya berisi tag HTML, dan beberapa kode PHP scripting.

Di bawah ini, kita memiliki contoh dari file PHP sederhana, dengan script PHP yang
menggunakan fungsi PHP built-in "echo" untuk output teks "Hello World!" pada halaman web:

Catatan: pernyataan PHP diakhiri dengan tanda titik koma (;).

Komentar di PHP

Sebuah komentar dalam kode PHP adalah garis yang tidak membaca / dieksekusi sebagai bagian
dari program. Its satunya tujuan adalah untuk dibaca oleh seseorang yang melihat kode.

Komentar dapat digunakan untuk:

 Biarkan orang lain memahami apa yang Anda lakukan


 Ingatkan diri Anda dari apa yang Anda lakukan - Kebanyakan programmer telah mengalami
datang kembali ke pekerjaan mereka sendiri satu atau dua tahun kemudian dan harus kembali
mencari tahu apa yang mereka lakukan. Komentar dapat mengingatkan Anda tentang apa yang
Anda pikirkan ketika Anda menulis kode

PHP mendukung beberapa cara berkomentar:

PHP Kasus Sensitivitas

Dalam PHP, semua kata kunci (misalnya jika, lain, sementara, echo, dll), kelas, fungsi, dan
fungsi user-defined TIDAK case-sensitive.

Pada contoh di bawah, ketiga pernyataan gema bawah hukum (dan setara):
Namun; semua nama variabel adalah case-sensitive.

Pada contoh di bawah ini, hanya pernyataan pertama akan menampilkan nilai dari variabel $
warna (ini karena $ warna, $ WARNA, dan $ warna diperlakukan sebagai tiga variabel yang
berbeda):

PHP 5 Variabel

Variabel adalah "wadah" untuk menyimpan informasi.

Membuat (Mendeklarasikan) Variabel PHP

Dalam PHP, variabel dimulai dengan tanda $, diikuti dengan nama variabel:
Setelah eksekusi pernyataan di atas, variabel $ txt akan memegang nilai Halo dunia! , Variabel
$ x akan memegang nilai 5 , dan variabel $ y akan memegang nilai 10,5 .

Catatan: Bila Anda menetapkan nilai teks ke variabel, menaruh tanda kutip nilai.

Catatan: Tidak seperti bahasa pemrograman lain, PHP tidak memiliki perintah untuk
mendeklarasikan variabel. Hal ini dibuat saat Anda pertama menetapkan nilai untuk itu.

Pikirkan variabel sebagai wadah untuk menyimpan data.

Variabel PHP

Sebuah variabel dapat memiliki nama pendek (seperti x dan y) atau nama yang lebih deskriptif
(usia, carname, total_volume).

Aturan untuk variabel PHP:

 Sebuah variabel dimulai dengan tanda $, diikuti dengan nama variabel


 Sebuah nama variabel harus dimulai dengan huruf atau karakter garis bawah
 Sebuah nama variabel tidak dapat memulai dengan angka
 Sebuah nama variabel hanya dapat berisi karakter dan garis bawah alpha-numerik (Az, 0-9, dan
_)
 nama variabel adalah case-sensitive ($ umur dan $ AGE adalah dua variabel yang berbeda)

Ingat bahwa PHP nama variabel adalah case-sensitive!


Variabel Output

PHP echopernyataan sering digunakan untuk output data ke layar.

Contoh berikut akan menunjukkan bagaimana output teks dan variabel:

Contoh berikut akan menghasilkan output yang sama seperti contoh di atas:

Contoh berikut akan menampilkan jumlah dari dua variabel:


Catatan: Anda akan belajar lebih banyak tentang echopernyataan dan bagaimana data output ke
layar dalam bab berikutnya.

PHP adalah bahasa Longgar Diketik

Dalam contoh di atas, perhatikan bahwa kita tidak harus memberitahu PHP yang tipe data
variabel tersebut.

PHP secara otomatis mengkonversi variabel dengan jenis data yang benar, tergantung pada
nilainya.

Dalam bahasa lain seperti C, C ++, dan Java, programmer harus menyatakan nama dan jenis
variabel sebelum menggunakannya.

Variabel PHP Lingkup

Dalam PHP, variabel dapat dinyatakan di mana saja di script.

Ruang lingkup variabel adalah bagian dari script di mana variabel dapat dirujuk / digunakan.

PHP memiliki tiga lingkup variabel yang berbeda:

 lokal
 global
 statis
Lingkup global dan lokal

Sebuah variabel dideklarasikan di luar fungsi memiliki LINGKUP GLOBAL dan hanya dapat
diakses di luar fungsi:

Sebuah variabel dideklarasikan dalam fungsi memiliki LINGKUP LOKAL dan hanya dapat
diakses dalam fungsi bahwa:

Anda dapat memiliki variabel lokal dengan nama yang sama dalam fungsi yang berbeda, karena
variabel lokal hanya diakui oleh fungsi di mana mereka dinyatakan.

PHP Kata Kunci global yang

The globalkata kunci digunakan untuk mengakses variabel global dari dalam fungsi.
Untuk melakukan hal ini, gunakan globalkata kunci sebelum variabel (dalam fungsi):

PHP juga menyimpan semua variabel global dalam sebuah array disebut $ GLOBALS [ index ].
The Indeks memegang nama variabel. Array ini juga dapat diakses dari dalam fungsi dan dapat
digunakan untuk memperbarui variabel global secara langsung.

Contoh di atas dapat ditulis ulang seperti ini:


PHP statis Kata Kunci

Biasanya, ketika fungsi selesai / dieksekusi, semua variabel yang akan dihapus. Namun,
terkadang kita ingin variabel lokal tidak akan dihapus. Kami membutuhkannya untuk pekerjaan
lebih lanjut.

Untuk melakukan hal ini, gunakan statickata kunci ketika Anda pertama kali mendeklarasikan
variabel:

Kemudian, setiap kali fungsi dipanggil, variabel yang akan masih memiliki informasi yang
terkandung dari terakhir kali fungsi dipanggil.

Catatan: variabel ini masih lokal untuk fungsi.

PHP 5 gema dan Laporan cetak

Dalam PHP ada dua cara dasar untuk mendapatkan output: echodan print.

Dalam tutorial ini kita menggunakan echo(dan print) di hampir setiap contoh. Jadi, bab ini
berisi info lebih banyak tentang mereka dua pernyataan output.
echo dan print Laporan PHP

echodan print kurang lebih sama. Mereka berdua digunakan untuk output data ke layar.

Perbedaan kecil: echo tidak memiliki nilai kembali sementara print memiliki nilai kembali
dari 1 sehingga dapat digunakan dalam ekspresi. echodapat mengambil beberapa parameter
(meskipun penggunaan seperti ini jarang terjadi) sementara print dapat mengambil satu
argumen. echoadalah sedikit lebih cepat dari print.

PHP Pernyataan gema

The echopernyataan dapat digunakan dengan atau tanpa tanda kurung: echoatau echo().

tampilan Teks

Contoh berikut menunjukkan bagaimana output teks dengan echo perintah (perhatikan bahwa
teks dapat berisi markup HTML):

Variabel tampilan

Contoh berikut menunjukkan bagaimana output teks dan variabel dengan echo pernyataan:
Pernyataan PHP cetak

The printpernyataan dapat digunakan dengan atau tanpa tanda kurung: printatau print().

tampilan Teks

Contoh berikut menunjukkan bagaimana output teks dengan print perintah (perhatikan bahwa
teks dapat berisi markup HTML):

Variabel tampilan

Contoh berikut menunjukkan bagaimana output teks dan variabel dengan printpernyataan:
PHP 5 Jenis Data

Jenis PHP Data

Variabel dapat menyimpan data dari berbagai jenis, dan tipe data yang berbeda dapat melakukan
hal-hal yang berbeda.

PHP mendukung jenis data sebagai berikut:

 Tali
 Bilangan bulat
 Mengapung (floating point - juga disebut ganda)
 boolean
 susunan
 Obyek
 BATAL
 Sumber

PHP String

Sebuah string adalah rangkaian karakter, seperti "Halo dunia!".


Sebuah string dapat berupa teks dalam tanda kutip. Anda dapat menggunakan tanda kutip
tunggal atau ganda:

PHP Integer

Tipe data integer adalah angka non-desimal antara -2147483648 dan 2147483647.

Aturan untuk bilangan bulat:

 Integer harus memiliki setidaknya satu digit


 Integer tidak harus memiliki titik desimal
 Integer dapat bersifat positif atau negatif
 Bilangan bulat dapat ditentukan dalam tiga format: desimal (10-based), heksadesimal (16-
berbasis - diawali dengan 0x) atau oktal (8 berbasis - diawali dengan 0)

Dalam contoh berikut $ x adalah bilangan bulat. PHP var_dump () mengembalikan fungsi tipe
data dan nilai:
PHP Lampung

Sebuah float (floating point nomor) adalah nomor dengan titik desimal atau nomor dalam bentuk
eksponensial.

Dalam contoh berikut $ x adalah pelampung. PHP var_dump () mengembalikan fungsi tipe data
dan nilai:

PHP Boolean

Sebuah Boolean mewakili dua kemungkinan: TRUE atau FALSE.

$x = true;
$y = false;

Booleans sering digunakan dalam pengujian bersyarat. Anda akan belajar lebih banyak tentang
pengujian kondisional dalam bab berikutnya dari tutorial ini.

PHP Array

Sebuah array menyimpan beberapa nilai dalam satu variabel tunggal.

Pada contoh $ mobil berikut adalah array. PHP var_dump () mengembalikan fungsi tipe data dan
nilai:
Anda akan belajar lebih banyak tentang array dalam bab-bab selanjutnya dari tutorial ini.

PHP Object

Sebuah objek adalah tipe data yang menyimpan data dan informasi tentang cara mengolah data
tersebut.

Dalam PHP, sebuah objek harus secara eksplisit dinyatakan.

Pertama kita harus mendeklarasikan kelas objek. Untuk ini, kami menggunakan kata kunci class.
Sebuah kelas adalah struktur yang dapat berisi properti dan metode:

PHP NULL Nilai

Null adalah tipe data khusus yang hanya dapat memiliki satu nilai: NULL.
Sebuah variabel dari tipe data NULL adalah variabel yang tidak memiliki nilai yang ditugaskan
untuk itu.

Tip: Jika variabel yang dibuat tanpa nilai, maka secara otomatis diberi nilai NULL.

Variabel juga dapat dikosongkan dengan menetapkan nilai ke NULL:

Sumber PHP

Jenis sumber daya khusus bukan merupakan tipe data yang sebenarnya. Ini adalah penyimpanan
referensi ke fungsi dan sumber daya eksternal untuk PHP.

Sebuah contoh umum dari menggunakan tipe data sumber daya adalah panggilan database.

Kami tidak akan berbicara tentang jenis sumber daya di sini, karena itu adalah topik yang
canggih.

PHP 5 Strings

Sebuah string adalah rangkaian karakter, seperti "Halo dunia!".

Fungsi PHP String

Dalam bab ini kita akan melihat beberapa fungsi umum digunakan untuk memanipulasi string.
Dapatkan Panjang String

PHP strlen()fungsi mengembalikan panjang string.

Contoh di bawah mengembalikan panjang string "Hello world!":

Output dari kode di atas akan menjadi: 12.

Hitung Jumlah Kata dalam String

PHP str_word_count()fungsi menghitung jumlah kata dalam string:

Output dari kode di atas akan menjadi: 2.


Membalikkan String

PHP strrev()fungsi membalikkan string:

Output dari kode di atas akan:! Dlrow Olleh.

Cari Untuk Teks Tertentu Dalam String

PHP strpos()fungsi mencari teks tertentu dalam string.

Jika kecocokan ditemukan, fungsi mengembalikan posisi karakter dari pertandingan pertama.
Jika tidak ada yang cocok, ia akan kembali FALSE.

Contoh di bawah penelusuran untuk teks "dunia" dalam string "Hello world!":

Output dari kode di atas akan menjadi: 6.


Tip: Posisi karakter pertama dalam string adalah 0 (tidak 1).

Ganti Teks Dalam String

PHP str_replace()fungsi menggantikan beberapa karakter dengan beberapa karakter lain


dalam sebuah string.

Contoh di bawah menggantikan teks "dunia" dengan "Dolly":

Output dari kode di atas akan menjadi: Hello Dolly!

Lengkapi PHP String Reference

Untuk referensi lengkap dari semua fungsi string, pergi ke lengkap kami Referensi PHP String .

Referensi PHP string berisi deskripsi dan contoh penggunaan, untuk setiap fungsi!

PHP 5 Konstanta

Konstanta seperti variabel kecuali bahwa setelah mereka didefinisikan mereka tidak dapat diubah
atau tidak terdefinisi.
PHP Konstanta

Sebuah konstan adalah identifier (nama) untuk nilai sederhana. nilai tidak dapat diubah selama
script.

Sebuah nama yang konstan valid dimulai dengan huruf atau garis bawah (tidak ada tanda $
sebelum nama konstan).

Catatan: Tidak seperti variabel, konstanta secara otomatis global di seluruh script.

Buat Konstan PHP

Untuk membuat sebuah konstanta, gunakan define()fungsi.

Sintaksis
define(name, value, case-insensitive)

parameter:

 Nama : Menentukan nama dari konstanta


 Nilai : Menentukan nilai konstanta
 case-insensitive : Menentukan apakah nama konstan harus case-insensitive. Default adalah
palsu

Contoh di bawah menciptakan konstan dengan case-sensitive nama:

Contoh di bawah menciptakan konstan dengan kasus-sensitif nama:


Konstanta adalah Global

Konstanta secara otomatis global dan dapat digunakan di seluruh naskah.

Contoh di bawah menggunakan konstan dalam fungsi, bahkan jika itu didefinisikan di luar
fungsi:

PHP 5 Operator

PHP Operator

Operator digunakan untuk melakukan operasi pada variabel dan nilai-nilai.

PHP membagi operator dalam kelompok berikut:

 operator aritmatika
 operator penugasan
 operator perbandingan
 operator increment / Decrement
 operator logika
 operator String
 operator Array

PHP Arithmetic Operator

Operator PHP aritmatika digunakan dengan nilai-nilai numerik untuk melakukan operasi
aritmatika umum, seperti penambahan, pengurangan, perkalian dll

Operator nama exampel result show it


+ Addition $x + $y Sum of $x and $y
- Subtraction $x - $y Difference of $x and $y
* Multiplication $x * $y Product of $x and $y
/ Division $x / $y Quotient of $x and $y
Remainder of $x divided by
% Modulus $x % $y
$y
Result of raising $x to the
** Exponentiation $x ** $y $y'th power (Introduced in
PHP 5.6)

Operator Penugasan PHP

Operator PHP penugasan digunakan dengan nilai-nilai numerik untuk menulis nilai ke variabel.

Operator penugasan dasar dalam PHP adalah "=". Ini berarti bahwa operan kiri akan diatur ke
nilai ekspresi penugasan di sebelah kanan.

Assignment Same as... Description Show it


The left operand gets set to the
x=y x=y
value of the expression on the right
x += y x=x+y Addition
x -= y x=x-y Subtraction
x *= y x=x*y Multiplication
x /= y x=x/y Division
x %= y x=x%y Modulus
PHP Operator Perbandingan
Operator PHP perbandingan digunakan untuk membandingkan dua nilai (angka atau string):

Operator Name Example Result Show it


Returns true if $x is equal to
== Equal $x == $y
$y
Returns true if $x is equal to
=== Identical $x === $y $y, and they are of the same
type
Returns true if $x is not equal
!= Not equal $x != $y
to $y
Returns true if $x is not equal
<> Not equal $x <> $y
to $y
Returns true if $x is not equal
!== Not identical $x !== $y to $y, or they are not of the
same type
Returns true if $x is greater
> Greater than $x > $y
than $y
Returns true if $x is less than
< Less than $x < $y
$y
Greater than or Returns true if $x is greater
>= $x >= $y
equal to than or equal to $y
Less than or equal Returns true if $x is less than
<= $x <= $y
to or equal to $y

PHP Kenaikan / Decrement Operator

Operator increment PHP digunakan untuk kenaikan nilai variabel.

Operator PHP penurunan digunakan untuk pengurangan nilai variabel.

Operator Name Description Show it


++$x Pre-increment Increments $x by one, then returns $x
$x++ Post-increment Returns $x, then increments $x by one
--$x Pre-decrement Decrements $x by one, then returns $x
$x-- Post-decrement Returns $x, then decrements $x by one

PHP Logical Operator

PHP operator logika digunakan untuk menggabungkan pernyataan bersyarat.


Operator Name Example Result Show it
True if both $x and $y are
And And $x and $y
true
Or Or $x or $y True if either $x or $y is true
True if either $x or $y is true,
Xor Xor $x xor $y
but not both
True if both $x and $y are
&& And $x && $y
true
|| Or $x || $y True if either $x or $y is true

! Not !$x True if $x is not true

PHP String Operator

PHP memiliki dua operator yang khusus dirancang untuk string.

Operator Name Example Result Show it


Concatenation of $txt1 and
. Concatenation $txt1 . $txt2
$txt2
Concatenation
.= $txt1 .= $txt2 Appends $txt2 to $txt1
assignment

Operator Array PHP

Operator array PHP yang digunakan untuk membandingkan array.

Operator Name Example Result Show it


+ Union $x + $y Union of $x and $y
Returns true if $x and $y have the
== Equality $x == $y
same key/value pairs

Returns true if $x and $y have the


=== Identity $x === $y same key/value pairs in the same
order and of the same types

Returns true if $x is not equal to


!= Inequality $x != $y
$y
Returns true if $x is not equal to
<> Inequality $x <> $y
$y
Returns true if $x is not identical
!== Non-identity $x !== $y
to $y
PHP 5 jika ... lain ... elseif Laporan

pernyataan bersyarat digunakan untuk melakukan tindakan yang berbeda berdasarkan kondisi
yang berbeda.

Laporan Bersyarat PHP

Sangat sering ketika Anda menulis kode, Anda ingin melakukan tindakan yang berbeda untuk
kondisi yang berbeda. Anda dapat menggunakan pernyataan kondisional dalam kode Anda untuk
melakukan hal ini.

Dalam PHP kita memiliki pernyataan bersyarat berikut:

 if Pernyataan - mengeksekusi beberapa kode jika salah satu kondisi benar


 if...else Pernyataan - mengeksekusi beberapa kode jika kondisi benar dan kode lain jika
kondisi itu adalah palsu
 if...elseif....else Pernyataan - mengeksekusi kode yang berbeda selama lebih dari dua
kondisi
 switch Pernyataan - memilih salah satu dari banyak blok kode yang akan dieksekusi

PHP - The jika Pernyataan

The ifpernyataan mengeksekusi beberapa kode jika salah satu kondisi benar.

Sintaksis
if (condition) {
code to be executed if condition is true;
}

Contoh di bawah ini akan menampilkan "Memiliki hari yang baik!" jika waktu saat (JAM)
kurang dari 20:
PHP - The jika ... Pernyataan lain

The if....elsepernyataan mengeksekusi beberapa kode jika kondisi benar dan kode lain jika
kondisi itu adalah palsu.

Sintaksis
if (condition) {
code to be executed if condition is true;
} else {
code to be executed if condition is false;
}

Contoh di bawah ini akan menampilkan "Memiliki hari yang baik!" jika waktu saat ini kurang
dari 20, dan "Memiliki malam yang baik!" jika tidak:
PHP - The jika ... elseif .... Pernyataan lain

The if....elseif...elsepernyataan mengeksekusi kode yang berbeda selama lebih dari dua
kondisi.

Sintaksis
if (condition) {
code to be executed if this condition is true;
} elseif (condition) {
code to be executed if this condition is true;
} else {
code to be executed if all conditions are false;
}

Contoh di bawah ini akan menampilkan "Selamat pagi!" jika waktu saat ini kurang dari 10, dan
"Memiliki hari yang baik!" jika waktu saat ini kurang dari 20. Jika tidak, akan menampilkan
"Have a good night!":

PHP - Pernyataan saklar

The switchpernyataan akan dijelaskan dalam bab berikutnya.

PHP 5 saklar Pernyataan


The switchpernyataan digunakan untuk melakukan tindakan yang berbeda berdasarkan kondisi
yang berbeda.

PHP beralih Pernyataan

Gunakan switchpernyataan untuk memilih salah satu dari banyak blok kode yang akan
dieksekusi .

Sintaksis
switch (n) {
case label1:
code to be executed if n=label1;
break;
case label2:
code to be executed if n=label2;
break;
case label3:
code to be executed if n=label3;
break;
...
default:
code to be executed if n is different from all labels;
}

Ini adalah cara kerjanya: Pertama kita memiliki ekspresi tunggal n (paling sering variabel), yang
dievaluasi sekali. Nilai ekspresi ini kemudian dibandingkan dengan nilai-nilai untuk setiap kasus
dalam struktur. Jika ada pertandingan, blok kode yang terkait dengan kasus yang dieksekusi.
Gunakan breakuntuk mencegah kode dari berlari ke kasus berikutnya secara otomatis. The
defaultpernyataan digunakan jika tidak ada yang cocok.
PHP 5 sementara Loops

PHP sementara loop mengeksekusi blok kode sementara kondisi yang ditentukan benar.

PHP Loops

Seringkali ketika Anda menulis kode, Anda ingin blok kode yang sama untuk menjalankan lagi
dan lagi berturut-turut. Alih-alih menambahkan beberapa hampir sama kode-baris dalam naskah,
kita dapat menggunakan loop untuk melakukan tugas seperti ini.

Dalam PHP, kita memiliki pernyataan perulangan berikut:

 while - loop melalui blok kode selama kondisi yang ditentukan benar
 do...while - loop melalui blok kode sekali, dan kemudian mengulangi loop selama kondisi
yang ditentukan benar
 for - loop melalui blok kode jumlah tertentu kali
 foreach - loop melalui blok kode untuk setiap elemen dalam array
PHP sementara loop

The whileLoop mengeksekusi blok kode selama kondisi yang ditentukan benar.

Sintaksis
while (condition is true) {
code to be executed;
}

Contoh di bawah ini pertama menetapkan $ x variabel untuk 1 ($ x = 1). Kemudian, sementara
loop akan terus berjalan selama $ x kurang dari atau sama dengan 5 ($ x <= 5). $ X akan
meningkat 1 setiap kali loop berjalan ($ x ++):

PHP do ... while loop

The do...whileLoop akan selalu mengeksekusi blok kode sekali, maka ia akan memeriksa
kondisi, dan ulangi loop sementara kondisi yang ditentukan benar.

Sintaksis
do {
code to be executed;
} while (condition is true);

Contoh di bawah ini pertama menetapkan $ x variabel untuk 1 ($ x = 1). Kemudian, do while
akan menulis beberapa output, dan kemudian kenaikan variabel $ x dengan 1. Kemudian kondisi
diperiksa (adalah $ x kurang dari atau sama dengan 5?), Dan loop akan terus berjalan selama $ x
kurang dari atau sama dengan 5:
Perhatikan bahwa dalam do whilelingkaran kondisi diuji SETELAH mengeksekusi laporan
dalam loop. Ini berarti bahwa do whilelingkaran akan mengeksekusi pernyataan yang
setidaknya sekali, bahkan jika kondisi salah pertama kalinya.

Contoh di bawah set $ x variabel untuk 6, kemudian berjalan loop, dan kemudian kondisi
diperiksa :

PHP 5 untuk Loops

PHP forloop mengeksekusi blok kode jumlah tertentu kali.


PHP Loop

The forLoop digunakan ketika Anda tahu sebelumnya berapa kali script harus dijalankan.

Sintaksis
for (init counter; test counter; increment counter) {
code to be executed;
}

parameter:

 init kontra : Inisialisasi nilai loop counter


 Tes kontra : Dievaluasi untuk setiap iterasi loop. Jika bernilai TRUE, loop terus. Jika mengevaluasi
ke FALSE, loop berakhir.
 Peningkatan kontra : Meningkatkan nilai loop counter

Contoh di bawah akan menampilkan angka 0 sampai 10:

PHP foreach loop

The foreachLoop bekerja hanya pada array, dan digunakan untuk loop melalui setiap pasangan
kunci / nilai dalam array.

Sintaksis
foreach ($array as $value) {
code to be executed;
}

Untuk setiap iterasi loop, nilai elemen array saat ditugaskan untuk $ value dan array pointer
digerakkan oleh satu, hingga mencapai elemen array terakhir.

Contoh berikut menunjukkan sebuah loop yang akan menampilkan nilai-nilai dari array yang
diberikan ($ warna):
PHP 5 Fungsi

Kekuatan sebenarnya dari PHP berasal dari fungsinya; memiliki lebih dari 1000 built-in fungsi.

PHP Ditetapkan Pengguna Fungsi

Selain fungsi PHP built-in, kita dapat membuat fungsi kita sendiri.

Sebuah fungsi adalah blok pernyataan yang dapat digunakan berulang kali dalam sebuah
program.

Sebuah fungsi tidak akan mengeksekusi segera bila halaman beban.

Sebuah fungsi akan dijalankan oleh panggilan ke fungsi.

Buat Fungsi Ditetapkan Pengguna di PHP

Sebuah deklarasi fungsi yang ditetapkan pengguna dimulai dengan kata function:
Sintaksis
function functionName() {
code to be executed;
}

Catatan: Sebuah nama fungsi dapat diawali dengan huruf atau garis bawah (bukan angka).

Tip: Berikan fungsi nama yang mencerminkan apa fungsi tidak!

nama fungsi TIDAK case-sensitive.

Pada contoh di bawah, kita membuat fungsi bernama "writeMsg ()". Pembukaan keriting brace
({) menunjukkan awal dari kode fungsi dan penjepit keriting penutupan (}) menunjukkan akhir
dari fungsi. Fungsi output "Halo dunia!". Untuk memanggil fungsi, hanya menulis namanya:

PHP Argumen Fungsi

Informasi dapat dikirimkan ke fungsi melalui argumen. Argumen adalah seperti variabel.

Argumen ditentukan setelah nama fungsi, dalam tanda kurung. Anda dapat menambahkan
sebanyak argumen yang Anda inginkan, hanya pisahkan dengan koma.

Contoh berikut memiliki fungsi dengan satu argumen ($ fname). Ketika fungsi familyName ()
dipanggil, kami juga menyampaikan nama (misalnya Jani), dan nama yang digunakan di dalam
fungsi, yang output beberapa nama pertama yang berbeda, tapi nama belakang yang sama:
Contoh berikut memiliki fungsi dengan dua argumen ($ fname dan $ tahun):

PHP Nilai Argumen default

Contoh berikut menunjukkan bagaimana menggunakan parameter default. Jika kita memanggil
fungsi setHeight () tanpa argumen dibutuhkan nilai default sebagai argumen:
Fungsi PHP - nilai Kembali

Untuk membiarkan fungsi mengembalikan nilai, gunakan returnpernyataan:

PHP 5 Array

Sebuah array menyimpan beberapa nilai dalam satu variabel tunggal:


Apa Array?

Array adalah variabel khusus, yang dapat menyimpan lebih dari satu nilai pada suatu waktu.

Jika Anda memiliki daftar item (daftar nama mobil, misalnya), menyimpan mobil di variabel
tunggal bisa terlihat seperti ini:

$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";

Namun, bagaimana jika Anda ingin loop melalui mobil dan menemukan satu tertentu? Dan
bagaimana jika kau tidak 3 mobil, tapi 300?

Solusinya adalah dengan membuat sebuah array!

Sebuah array dapat menyimpan banyak nilai di bawah satu nama, dan Anda dapat mengakses
nilai-nilai dengan mengacu pada nomor indeks.

Buat Array di PHP

Dalam PHP, yang array()adalah fungsi yang digunakan untuk membuat sebuah array:

array();

Di PHP, ada tiga jenis array:

 Array diindeks - Array dengan indeks numerik


 Array asosiatif - Array dengan kunci bernama
 Array multidimensi - Array yang berisi satu atau lebih array
PHP Indexed Array

Ada dua cara untuk membuat diindeks array:

Indeks dapat diberikan secara otomatis (index selalu dimulai pada 0), seperti ini:

$cars = array("Volvo", "BMW", "Toyota");

atau indeks dapat ditugaskan secara manual:

$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";

Contoh berikut membuat array diindeks bernama $ mobil, memberikan tiga elemen untuk itu,
dan kemudian mencetak teks yang berisi nilai array:

Dapatkan Panjang Array - hitung The () Fungsi

The count()Fungsi digunakan untuk mengembalikan panjang (jumlah elemen) array:


Lingkaran Melalui Array Indexed

Untuk loop melalui dan mencetak semua nilai-nilai array diindeks, Anda bisa menggunakan
forlingkaran, seperti ini:

PHP asosiatif Array

array asosiatif adalah array yang menggunakan nama kunci yang Anda tetapkan untuk mereka.

Ada dua cara untuk membuat array asosiatif:

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

atau:
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";

Kunci bernama kemudian dapat digunakan dalam naskah:

Lingkaran Melalui Array asosiatif

Untuk loop melalui dan mencetak semua nilai-nilai array asosiatif, Anda bisa menggunakan
foreachlingkaran, seperti ini:

PHP 5 Sorting Array

Elemen-elemen dalam array dapat diurutkan dalam abjad atau numerik order, turun atau naik.
PHP - Urutkan Fungsi Untuk Array

Dalam bab ini, kita akan pergi melalui PHP fungsi array semacam berikut:

 sort() - array semacam dalam urutan menaik


 rsort() - array semacam agar descending
 asort() - array semacam asosiatif dalam urutan, menurut nilai
 ksort() - array semacam asosiatif dalam urutan, menurut kunci
 arsort() - array semacam asosiatif dalam urutan, menurut nilai
 krsort() - array semacam asosiatif dalam urutan, menurut kunci

Urutkan Array di Ascending Order - sort ()

Contoh berikut macam elemen dari array $ mobil di menaik urutan abjad:

Contoh berikut macam elemen dari array $ angka dalam urutan menaik numerik:
Urutkan Array di Descending Order - rsort ()

Contoh berikut macam elemen dari array $ mobil dalam urutan abjad:

Contoh berikut macam elemen dari array $ nomor dalam urutan numerik:
Urutkan Array (Ascending Order), Menurut Nilai - asort ()

Contoh berikut macam array asosiatif dalam urutan, menurut nilai:

Urutkan Array (Ascending Order), Menurut Key - ksort ()

Contoh berikut macam array asosiatif dalam urutan, menurut kunci:


Urutkan Array (Descending Order), Menurut Nilai - arsort ()

Contoh berikut macam array asosiatif dalam urutan, menurut nilai:

Urutkan Array (Descending Order), Menurut Key - krsort ()

Contoh berikut macam array asosiatif dalam urutan, menurut kunci:


Lengkap PHP Array Referensi

Untuk referensi lengkap dari semua fungsi array, pergi ke lengkap kami Referensi PHP Array .

referensi berisi deskripsi singkat, dan contoh penggunaan, untuk setiap fungsi!

PHP 5 Variabel global - superglobals

Superglobals diperkenalkan di PHP 4.1.0, dan built-in variabel yang selalu tersedia di semua
lingkup.

Variabel PHP global - superglobals

Beberapa variabel yang telah ditetapkan dalam PHP adalah "superglobals", yang berarti bahwa
mereka selalu dapat diakses, terlepas dari lingkup - dan Anda dapat mengaksesnya dari fungsi
apapun, kelas atau file yang tanpa harus melakukan sesuatu yang istimewa.

variabel PHP superglobal adalah:

 $ GLOBALS
 $ _SERVER
 $ _REQUEST
 $ _POST
 $ _GET
 $ _FILES
 $ _ENV
 $ _COOKIE
 $ _SESSION

Bab ini akan menjelaskan beberapa superglobals, dan sisanya akan dijelaskan di bab berikutnya.

PHP $ GLOBALS

$ GLOBALS adalah PHP variabel global super yang digunakan untuk mengakses variabel global
dari mana saja di script PHP (juga dari dalam fungsi atau metode).

Toko PHP semua variabel global dalam sebuah array disebut $ GLOBALS [ index ]. The Indeks
memegang nama variabel.

Contoh di bawah ini menunjukkan bagaimana menggunakan super variabel global $ GLOBALS:

Dalam contoh di atas, karena z adalah hadiah variabel dalam array $ GLOBALS, hal ini juga
dapat diakses dari luar fungsi!

PHP $ _SERVER

$ _SERVER adalah PHP variabel global super yang memegang informasi tentang header, jalur,
dan lokasi skrip.
Contoh di bawah ini menunjukkan bagaimana menggunakan beberapa elemen di $ _SERVER:

Tabel berikut mencantumkan elemen yang paling penting yang dapat masuk ke dalam $
_SERVER:

Element/Code Description

$_SERVER['PHP_SELF'] Returns the filename of the currently executing script

Returns the version of the Common Gateway Interface (CGI) the


$_SERVER['GATEWAY_INTERFACE']
server is using

$_SERVER['SERVER_ADDR'] Returns the IP address of the host server

Returns the name of the host server (such as


$_SERVER['SERVER_NAME']
www.w3schools.com)

$_SERVER['SERVER_SOFTWARE'] Returns the server identification string (such as Apache/2.2.24)

Returns the name and revision of the information protocol (such


$_SERVER['SERVER_PROTOCOL']
as HTTP/1.1)

Returns the request method used to access the page (such as


$_SERVER['REQUEST_METHOD']
POST)

Returns the timestamp of the start of the request (such as


$_SERVER['REQUEST_TIME']
1377687496)

$_SERVER['QUERY_STRING'] Returns the query string if the page is accessed via a query string

$_SERVER['HTTP_ACCEPT'] Returns the Accept header from the current request


Returns the Accept_Charset header from the current request
$_SERVER['HTTP_ACCEPT_CHARSET']
(such as utf-8,ISO-8859-1)

$_SERVER['HTTP_HOST'] Returns the Host header from the current request

Returns the complete URL of the page from which the current
$_SERVER['HTTP_REFERER']
page was called

$_SERVER['HTTPS'] Is the script queried through a secure HTTP protocol

Returns the IP address from where the user is viewing the current
$_SERVER['REMOTE_ADDR']
page

Returns the Host name from where the user is viewing the
$_SERVER['REMOTE_HOST']
current page

Returns the port being used on the user's machine to


$_SERVER['REMOTE_PORT']
communicate with the web server

$_SERVER['SCRIPT_FILENAME'] Returns the absolute pathname of the currently executing script

Returns the value given to the SERVER_ADMIN directive in the


web server configuration file (if your script runs on a virtual host,
$_SERVER['SERVER_ADMIN']
it will be the value defined for that virtual host) (such as
someone@w3schools.com)

Returns the port on the server machine being used by the web
$_SERVER['SERVER_PORT']
server for communication (such as 80)

Returns the server version and virtual host name which are
$_SERVER['SERVER_SIGNATURE']
added to server-generated pages

$_SERVER['PATH_TRANSLATED'] Returns the file system based path to the current script

$_SERVER['SCRIPT_NAME'] Returns the path of the current script

$_SERVER['SCRIPT_URI'] Returns the URI of the current page

PHP $ _REQUEST

PHP $ _REQUEST digunakan untuk mengumpulkan data setelah mengirimkan formulir HTML.

Contoh di bawah ini menunjukkan bentuk dengan field input dan sebuah tombol submit. Ketika
pengguna mengirimkan data dengan mengklik "Submit", bentuk data dikirim ke file yang
ditentukan dalam atribut aksi <form> tag. Dalam contoh ini, kita arahkan ke file ini sendiri untuk
data formulir pengolahan. Jika Anda ingin menggunakan file PHP lain untuk memproses data
formulir, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa menggunakan super
variabel global $ _REQUEST untuk mengumpulkan nilai dari field input:

PHP $ _POST

PHP $ _POST secara luas digunakan untuk mengumpulkan data formulir setelah mengirimkan
formulir HTML dengan metode = "post". $ _POST juga banyak digunakan untuk lulus variabel.

Contoh di bawah ini menunjukkan bentuk dengan field input dan sebuah tombol submit. Ketika
pengguna mengirimkan data dengan mengklik "Submit", bentuk data dikirim ke file yang
ditentukan dalam atribut aksi <form> tag. Dalam contoh ini, kita arahkan ke file itu sendiri untuk
data formulir pengolahan. Jika Anda ingin menggunakan file PHP lain untuk memproses data
formulir, menggantikan dengan nama file pilihan Anda. Kemudian, kita bisa menggunakan super
variabel global $ _POST untuk mengumpulkan nilai dari field input:
PHP $ _GET

PHP $ _GET juga dapat digunakan untuk mengumpulkan data formulir setelah mengirimkan
formulir HTML dengan metode = "mendapatkan".

$ _GET juga dapat mengumpulkan data yang dikirim dalam URL.

Anggaplah kita memiliki halaman HTML yang berisi hyperlink dengan parameter:

<html>
<body>

<a href="test_get.php?subject=PHP&web=W3schools.com">Test $GET</a>

</body>
</html>

Ketika pengguna mengklik pada link "Uji $ GET", parameter "subjek" dan "web" dikirim ke
"test_get.php", dan Anda kemudian dapat mengakses nilai-nilai mereka di "test_get.php" dengan
$ _GET.

Contoh di bawah ini menunjukkan kode "test_get.php":


PHP Form

PHP 5 Form Penanganan

PHP superglobals $ _GET dan $ _POST digunakan untuk mengumpulkan form-data.

PHP - Bentuk HTML Sederhana

Contoh di bawah ini menampilkan bentuk HTML sederhana dengan dua field input dan sebuah
tombol submit:

Ketika pengguna mengisi formulir di atas dan mengklik tombol submit, form data dikirim untuk
diproses ke file PHP bernama "welcome.php". Bentuk data dikirim dengan metode HTTP POST.

Untuk menampilkan data yang diajukan Anda hanya bisa echo semua variabel. The
"welcome.php" terlihat seperti ini:
<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>


Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

Output bisa menjadi sesuatu seperti ini:

Welcome John
Your email address is john.doe@example.com

Hasil yang sama juga bisa dicapai dengan menggunakan metode HTTP GET:

dan "welcome_get.php" terlihat seperti ini:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>


Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

Kode di atas cukup sederhana. Namun, hal yang paling penting yang hilang. Anda perlu
memvalidasi data formulir untuk melindungi naskah Anda dari kode berbahaya.

Pikirkan KEAMANAN saat memproses bentuk PHP!


Halaman ini tidak berisi validasi form, itu hanya menunjukkan bagaimana Anda dapat mengirim
dan mengambil data formulir.

Namun, halaman berikutnya akan menunjukkan bagaimana proses bentuk PHP dengan
keamanan dalam pikiran! validasi yang tepat dari bentuk data penting untuk melindungi formulir
Anda dari hacker dan spammer!

GET vs POST

Kedua GET dan POST membuat sebuah array (misalnya array (key => value, key2 => nilai2,
key3 => value3, ...)). array ini memegang pasangan kunci / nilai, di mana kunci adalah nama-
nama bentuk kontrol dan nilai-nilai data input dari user.

Kedua GET dan POST diperlakukan sebagai $ _GET dan $ _POST. Ini adalah superglobals,
yang berarti bahwa mereka selalu dapat diakses, terlepas dari lingkup - dan Anda dapat
mengaksesnya dari fungsi apapun, kelas atau file yang tanpa harus melakukan sesuatu yang
istimewa.

$ _GET adalah array dari variabel dilewatkan ke script saat ini melalui parameter URL.

$ _POST adalah array dari variabel dilewatkan ke script saat ini melalui metode HTTP POST.

Kapan menggunakan GET?

Informasi yang dikirim dari formulir dengan metode GET adalah terlihat untuk semua orang
(semua nama dan nilai-nilai variabel yang ditampilkan dalam URL). GET juga memiliki batasan
pada jumlah informasi untuk mengirim. Pembatasan itu sekitar 2000 karakter. Namun, karena
variabel ditampilkan di URL, adalah mungkin untuk penunjuk halaman. Hal ini dapat berguna
dalam beberapa kasus.

GET dapat digunakan untuk mengirim data non-sensitif.

Catatan: GET harus PERNAH digunakan untuk mengirim password atau informasi sensitif
lainnya!
Kapan menggunakan POST?

Informasi yang dikirim dari formulir dengan metode POST tidak terlihat oleh orang lain
(semua nama / nilai yang tertanam dalam tubuh permintaan HTTP) dan memiliki batas pada
jumlah informasi untuk mengirim.

Selain itu POST mendukung fungsi canggih seperti dukungan untuk multi-bagian masukan biner
ketika mengupload file ke server.

Namun, karena variabel tidak ditampilkan dalam URL, tidak mungkin untuk penunjuk halaman.

Pengembang lebih memilih POST untuk mengirim data formulir.

Berikutnya, mari kita lihat bagaimana kami dapat memproses bentuk PHP cara aman!

PHP 5 Form Validasi

Ini dan bab-bab berikutnya menunjukkan bagaimana menggunakan PHP untuk memvalidasi data
formulir.

PHP Form Validasi

Pikirkan KEAMANAN saat memproses bentuk PHP!

Halaman ini akan menunjukkan cara untuk memproses bentuk PHP dengan keamanan dalam
pikiran. validasi yang tepat dari bentuk data penting untuk melindungi formulir Anda dari hacker
dan spammer!

Bentuk HTML kita akan bekerja di dalam bab-bab ini, berisi berbagai bidang masukan:
diperlukan dan bidang opsional teks, tombol radio, dan sebuah tombol submit:
Aturan validasi untuk formulir di atas adalah sebagai berikut:

Field Validation Rules

Name Required. + Must only contain letters and whitespace

E-mail Required. + Must contain a valid email address (with @ and .)

Website Optional. If present, it must contain a valid URL

Comment Optional. Multi-line input field (textarea)

Gender Required. Must select one

Pertama kita akan melihat kode HTML untuk form:

Fields teks

Nama, email, dan bidang situs adalah elemen input teks, dan kolom komentar adalah textarea.
Kode HTML terlihat seperti ini:
Name: <input type="text" name="name">
E-mail: <input type="text" name="email">
Website: <input type="text" name="website">
Comment: <textarea name="comment" rows="5" cols="40"></textarea>

Tombol radio

Bidang gender tombol radio dan kode HTML terlihat seperti ini:

Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other

Formulir Element

Kode HTML dalam bentuk terlihat seperti ini:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">

Ketika formulir dikirimkan, data formulir dikirim dengan metode = "post".

Apa $ _SERVER [ "PHP_SELF"] variabel?

The $ _SERVER [ "PHP_SELF"] adalah variabel global super yang mengembalikan nama file
dari script saat ini mengeksekusi.

Jadi, $ _SERVER [ "PHP_SELF"] mengirimkan data formulir diserahkan ke halaman itu sendiri,
bukannya melompat ke halaman yang berbeda. Dengan cara ini, pengguna akan mendapatkan
pesan error pada halaman yang sama seperti formulir.

Apa htmlspecialchars () function?

The htmlspecialchars () fungsi mengkonversi karakter khusus untuk entitas HTML. Ini berarti
bahwa hal itu akan menggantikan karakter HTML seperti <dan> dengan & lt; dan & gt ;. Hal ini
mencegah penyerang dari mengeksploitasi kode dengan menyuntikkan HTML atau kode
Javascript (serangan Scripting Cross-site) dalam bentuk.

Big Catatan tentang PHP Form Keamanan

The $ _SERVER [ "PHP_SELF"] variabel dapat digunakan oleh hacker!


Jika PHP_SELF digunakan dalam halaman Anda maka pengguna dapat memasukkan garis
miring (/) dan kemudian beberapa Cross Site Scripting (XSS) perintah untuk mengeksekusi.

Cross-site scripting (XSS) adalah jenis kerentanan keamanan komputer biasanya


ditemukan dalam aplikasi Web. XSS memungkinkan penyerang untuk menyuntikkan
script sisi klien ke dalam halaman Web dilihat oleh pengguna lain.

Asumsikan kita memiliki bentuk berikut di halaman bernama "test_form.php":

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

Sekarang, jika pengguna memasukkan URL normal pada address bar seperti
"http://www.example.com/test_form.php", kode di atas akan diterjemahkan ke:

<form method="post" action="test_form.php">

Sejauh ini baik.

Namun, mempertimbangkan bahwa pengguna memasukkan URL berikut di address bar:

http://www.example.com/test_form.php/%22%3E%3Cscript%3Ealert('hacked')%3C/script%3E

Dalam hal ini, kode di atas akan diterjemahkan ke:

<form method="post" action="test_form.php/"><script>alert('hacked')</script>

Kode ini menambahkan tag script dan perintah peringatan. Dan ketika beban halaman, kode
JavaScript akan dieksekusi (pengguna akan melihat kotak peringatan). Ini hanya contoh
sederhana dan tidak berbahaya bagaimana variabel PHP_SELF dapat dimanfaatkan.

Menyadari bahwa kode JavaScript dapat ditambahkan dalam tag <script>! Seorang hacker
dapat mengarahkan pengguna ke file di server lain, dan file yang dapat menyimpan kode
berbahaya yang dapat mengubah variabel global atau menyerahkan formulir ke alamat lain untuk
menyimpan data pengguna, misalnya.

Cara Hindari $ _SERVER [ "PHP_SELF"] Eksploitasi?

$ _SERVER [ "PHP_SELF"] eksploitasi dapat dihindari dengan menggunakan () fungsi


htmlspecialchars.

Kode bentuk akan terlihat seperti ini:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">


The htmlspecialchars () fungsi mengkonversi karakter khusus untuk entitas HTML. Sekarang
jika pengguna mencoba untuk mengeksploitasi variabel PHP_SELF, itu akan menghasilkan
output sebagai berikut:

<form method="post" action="test_form.php/&quot;&gt;&lt;script&gt;alert('hacked')&lt;/script&gt;">

Mengeksploitasi upaya gagal, dan tidak ada salahnya dilakukan!

Validasi Form Data Dengan PHP

Hal pertama yang akan kita lakukan adalah untuk lulus semua variabel melalui htmlspecialchars
PHP () fungsi.

Ketika kita menggunakan htmlspecialchars () fungsi; maka jika pengguna mencoba untuk
menyerahkan berikut dalam kolom teks:

<Script> location.href ( 'http://www.hacked.com') </ script>

- ini tidak akan dieksekusi, karena itu akan disimpan sebagai HTML lolos kode, seperti ini:

& Lt; script yang & gt; location.href ( 'http://www.hacked.com') & lt; / script & gt;

Kode ini sekarang aman untuk ditampilkan pada halaman atau di dalam e-mail.

Kami juga akan melakukan dua hal lebih ketika pengguna menyerahkan formulir:

1. Jalur karakter yang tidak perlu (extra space, tab, baris baru) dari data input pengguna (dengan
fungsi PHP lis ())
2. Hapus backslashes (\) dari data input pengguna (dengan stripslashes PHP () fungsi)

Langkah selanjutnya adalah membuat fungsi yang akan melakukan semua pengecekan untuk kita
(yang jauh lebih nyaman daripada menulis kode yang sama berulang-ulang).

Kami akan nama fungsi test_input ().

Sekarang, kita dapat memeriksa setiap variabel $ _POST dengan fungsi test_input (), dan script
terlihat seperti ini:
Perhatikan bahwa pada awal script, kita memeriksa apakah formulir telah disampaikan
menggunakan $ _SERVER [ "REQUEST_METHOD"]. Jika REQUEST_METHOD adalah
POST, maka formulir telah disampaikan - dan itu harus divalidasi. Jika belum diajukan,
melewatkan validasi dan menampilkan formulir kosong.

Namun, dalam contoh di atas, semua bidang input adalah opsional. Script bekerja dengan baik
bahkan jika pengguna tidak memasukkan data apapun.

Langkah selanjutnya adalah membuat field input yang dibutuhkan dan membuat pesan kesalahan
jika diperlukan.

PHP 5 Bentuk - Fields Diperlukan

Bab ini menunjukkan bagaimana untuk membuat field input yang dibutuhkan dan membuat
pesan kesalahan jika diperlukan.

PHP - Diperlukan Fields

Dari tabel aturan validasi pada halaman sebelumnya, kita melihat bahwa "Nama", "E-mail", dan
"Gender" bidang yang diperlukan. Bidang ini tidak boleh kosong dan harus diisi dalam bentuk
HTML.

Field Validation Rules


Name Required. + Must only contain letters and whitespace

E-mail Required. + Must contain a valid email address (with @ and .)

Website Optional. If present, it must contain a valid URL

Comment Optional. Multi-line input field (textarea)

Gender Required. Must select one

Dalam bab sebelumnya, semua bidang masukan yang opsional.

Dalam kode berikut kami telah menambahkan beberapa variabel baru: $ nameErr, $ emailErr, $
genderErr, dan $ websiteErr. Variabel kesalahan akan mengadakan pesan kesalahan untuk
bidang yang diperlukan. Kami juga telah menambahkan if elsepernyataan untuk masing-
masing variabel $ _POST. Ini memeriksa jika variabel $ _POST kosong (dengan PHP empty()
fungsi). Jika kosong, pesan kesalahan disimpan dalam variabel kesalahan yang berbeda, dan jika
tidak kosong, ia akan mengirimkan data input pengguna melalui test_input() fungsi:

<?php
// define variables and set to empty values
$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"]);
}

if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}

if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}

if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}
?>

PHP - Tampilan Pesan Kesalahan

Kemudian dalam bentuk HTML, kita menambahkan sedikit script setelah masing-masing bidang
yang diperlukan, yang menghasilkan pesan kesalahan yang benar jika diperlukan (yaitu jika
pengguna mencoba untuk mengirimkan formulir tanpa mengisi formulir yang diperlukan):

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$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"]);
}

if (empty($_POST["email"])) {
$emailErr = "Email is required";
} else {
$email = test_input($_POST["email"]);
}

if (empty($_POST["website"])) {
$website = "";
} else {
$website = test_input($_POST["website"]);
}

if (empty($_POST["comment"])) {
$comment = "";
} else {
$comment = test_input($_POST["comment"]);
}

if (empty($_POST["gender"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>


<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>
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, " Apakah field website berisi URL yang valid?".

PHP 5 Bentuk - Validasi E-mail dan URL

Bab ini menunjukkan bagaimana untuk memvalidasi nama, e-mail, dan URL.

PHP - Nama Validasi

Kode di bawah ini menunjukkan cara sederhana untuk memeriksa apakah kolom nama hanya
berisi huruf dan spasi. Jika nilai dari kolom 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";
}

The preg_match () fungsi pencarian string untuk pola, kembali benar jika pola itu ada,
dan false jika tidak.

PHP - Validasi E-mail

Cara termudah dan paling aman untuk memeriksa apakah alamat email dengan baik terbentuk
adalah dengan menggunakan filter_var () fungsi PHP.

Dalam kode di bawah, jika alamat e-mail tidak well-formed, kemudian menyimpan pesan
kesalahan:

$email = test_input($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailErr = "Invalid email format";
}
PHP - Validasi URL

Kode di bawah ini menunjukkan cara untuk memeriksa apakah sintaks alamat URL berlaku
(ekspresi reguler ini juga memungkinkan strip dalam URL). Jika sintaks alamat URL tidak valid,
maka menyimpan pesan kesalahan:

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-
9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}

PHP - Validasi Nama, E-mail, dan URL

Sekarang, script terlihat seperti ini:

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$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
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"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>


<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
<br><br>
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>
Langkah berikutnya adalah untuk menunjukkan bagaimana mencegah formulir dari
mengosongkan semua field input ketika pengguna menyerahkan formulir.

PHP 5 Form Contoh Lengkap

Bab ini menunjukkan bagaimana untuk menjaga nilai-nilai dalam field input ketika pengguna
menekan tombol submit.

PHP - Jauhkan Nilai dalam Form The

Untuk menampilkan nilai-nilai dalam field input setelah pengguna menekan tombol submit, kita
menambahkan script PHP kecil di dalam atribut nilai field input berikut: nama, email, dan
website. Di bidang komentar textarea, kami menempatkan script antara <textarea> dan </
textarea> tag. Script sedikit output nilai dari nama $, $ email, $ website, dan variabel komentar
$.
Kemudian, kita juga perlu menunjukkan yang tombol radio yang diperiksa. Untuk ini, kita harus
memanipulasi atribut diperiksa (tidak atribut nilai untuk tombol radio):

Name: <input type="text" name="name" value="<?php echo $name;?>">

E-mail: <input type="text" name="email" value="<?php echo $email;?>">

Website: <input type="text" name="website" value="<?php echo $website;?>">

Comment: <textarea name="comment" rows="5" cols="40"><?php echo $comment;?></textarea>

Gender:
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="female") echo "checked";?>
value="female">Female
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="male") echo "checked";?>
value="male">Male
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="other") echo "checked";?>
value="other">Other

PHP - Lengkap Form Contoh

Berikut adalah kode lengkap untuk PHP Form Validasi Contoh:

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// define variables and set to empty values
$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"])) {
$genderErr = "Gender is required";
} else {
$gender = test_input($_POST["gender"]);
}
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>


<p><span class="error">* required field</span></p>
<form method="post" action="<?php echo
htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="<?php echo $name;?>">
<span class="error">* <?php echo $nameErr;?></span>
<br><br>
E-mail: <input type="text" name="email" value="<?php echo
$email;?>">
<span class="error">* <?php echo $emailErr;?></span>
<br><br>
Website: <input type="text" name="website" value="<?php echo
$website;?>">
<span class="error"><?php echo $websiteErr;?></span>
<br><br>
Comment: <textarea name="comment" rows="5" cols="40"><?php echo
$comment;?></textarea>
<br><br>
Gender:
<input type="radio" name="gender" <?php if (isset($gender) &&
$gender=="female") echo "checked";?> value="female">Female
<input type="radio" name="gender" <?php if (isset($gender) &&
$gender=="male") echo "checked";?> value="male">Male
<input type="radio" name="gender" <?php if (isset($gender) &&
$gender=="other") echo "checked";?> value="other">Other
<span class="error">* <?php echo $genderErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>

<?php
echo "<h2>Your Input:</h2>";
echo $name;
echo "<br>";
echo $email;
echo "<br>";
echo $website;
echo "<br>";
echo $comment;
echo "<br>";
echo $gender;
?>

</body>
</html>

Anda mungkin juga menyukai