-
PPHHPP && MMyySSQQLL WWeebb DDeevveellooppmmeenntt
Pengantar
PHP & MySQL adalah bahasa pemprogaman web yang mendunia,
bahasanya mudah untuk dipelajari, kompatibilitas dengan berbagai
macam server baik itu windows maupun unix, dan yang tak kalah
penting adalah bahasa pemprogaman PHP & MySQL bersifat open
source sehingga perkembangannya pun akan semakin cepat dan dapat
diimplementasikan diberbagai bidang kebutuhan dalam pembuatan
aplikasi.
Dengan semakin berkembangnya dunia internet dan tingginya
kebutuhan akan sebuah bahasa pemprogaman yang mumpuni, setiap saat
berbagai macam fungsi baru dan library tambahan selalu muncul di
internet untuk memperkokoh dan meningkatkan performa keduanya,
bug-bug yang ada pada versi sebelumnya diperbaiki oleh komunitas
dan juga oleh para programmer handal yang ada diseluruh dunia.
PHP & MySQL sekarang hadir tidak lagi pada pembuatan
aplikasi web dan database semata, tetapi juga sudah merambah
kedalam dunia desktop Windows yang dikenal dengan PHP GTK. Karena
manfaatnya yang sangat banyak, mudah untuk dipelajari, dan dapat
diimplementasikan dihampir semua bidang kebutuhan maka hadirlah
sebuah E-book ini, E-book ini dibuat dengan mengambil dari berbagai
macam sumber yang ada, dari situs internet, E-book dan dari manual
book. Apakah PHP Itu ?
PHP kepanjangan dari Hypertext Preprocessor, PHP sendiri dibuat
oleh Rasmus Lerdorf, PHP bersifat open source dan telah digunakan
oleh hampir seluruh web developer di seluruh dunia, situs resmi php
bisa dikunjungi di www.php.net.
Karena sifatnya yang open source dan semakin banyaknya user
membuat bahasa pemprogaman ini mengalami perkembangan yang sangat
cepat. Sintak atau strukturnya hampir mirip dengan bahasa
pemprogaman C, Java dan Perl sehingga dengan begitu bagi mereka
yang sudah mempelajari bahasa tersebut tidak akan mengalami
kesulitan, selain itu bagi para pemula yang baru memulai bahasa
pemprogaman web rasanya PHP turut diperhitungkan, karena
pemanfaatan bahasa PHP tidak hanya sekedar untuk web dan
aplikasinya tetapi sudah merambah kedunia desktop windows, namanya
yaitu PHP GTK, kita akan membahas PHP GTK lebih lanjut nanti.
Sebuah contoh script php sederhana : Belajar PHP & MySQL
1
-
Kalau kita perhatikan script diatas, bahasa php dimulai dengan
tanda , sama seperti pemprogaman web lainnya, script php
ditempatkan di dalam tag HTML. Berbeda halnya dengan bahasa
pemprogaman Java script, script php di olah di sisi server, ini
berarti bahwa script php yang telah dibuat akan diproses terlebih
dahulu di server baru kemudian ditampilkan ke client dalam bentuk
html atau dalam format lainnya, dengan begitu script akan lebih
aman dan meminilisasikan kesalahan interpreter browser. Jika masih
penasaran, sekarang coba lihat source code script diatas, kalau
anda menjalankan script diatas menggunakan IE maka anda bisa
memilih menu view > source, maka isinya akan seperti ini:
Belajar PHP & MySQL Selamat belajar PHP & MySQL
Berbeda bukan dengan source codenya !, inilah yang disebut
sebagai server side scripting. PHP memiliki ekstensi *.php pada
setiap filenya.
Apa saja yang bisa dilakukan dengan PHP ?
PHP hampir dapat berjalan di semua system operasi seperti
Windows, Unix, Linux dan variannya, Mac OS X, RISC OS dan lainnya.
PHP juga Kompatibel dengan web server yang ada sekarang seperti
Apache, IIS ( Internet Information Service ), Personal web server,
Caudium, Xitami, Omni dan masih banyak lainnya. Dengan begitu
system operasi apapun yang anda gunakan atau web server apapun yang
anda gunakan php dapat berjalan dengan lancar. Seperti telah
diterangkan sebelumnya bahwa script php diolah di server kemudian
ditampilkan ke client dalam bentuk HTML atau format lainnya, dengan
tambahan berupa library, php mampu menampilkannya dalam berbagai
macam format seperti gambar (image), pdf bahkan swf. Selain output
diatas php juga mampu menghasilkan output berupa teks seperti XHTML
dan XML. Salah satu fitur dasyat PHP dibandingkan bahasa
pemprogaman web lainnya adalah PHP mampu berkomunikasi hampir pada
semua database yang ada sekarang, diantaranya :
2
-
Adabas D Ingres Oracle (OCI7 and OCI8) dBase InterBase Ovrimos
Empress FrontBase PostgreSQL FilePro (read-only) mSQL Solid
Hyperwave Direct MS-SQL Sybase IBM DB2 MySQL Velocis Informix ODBC
Dan Unix dbm
Dengan PHP kita juga mampu berhubungan dengan berbagai macam
protocol yang ada seperti LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM
dan lainnya. Fasilitas lainnya adalah soket programming, dengan
fasilitas ini kita bisa membuat script php yang dapat menghubungkan
komputer pada sebuah jaringan, sehingga kita bisa bertukar data.
Kemudian ada juga yang namanya COBRA Extension untuk access remote
objects. Fungsi-fungsi lain diantaranya adalah :
Bzip2 Compression Functions yaitu fungsi untuk membuat dan
membaca file berformat *.zip
ClibPDF Functions yaitu fungsi untuk membuat file pdf secara on
the fly, fungsi ini hampir mirip dengan PDFlib.
Cybercash Payment Functions, bagi mereka yang ingin membuat
aplikasi yang berhubungan dengan E-Payment bisa menggunakan fungsi
ini.
DOM XML Functions NET Functions Filesystem Functions COM (for
Windows) dengan fungsi ini kita mampu berkomunikasi antar
aplikasi yang dibuat dengan standar com, maka dengan begitu kita
bisa saling kirim data antar aplikasi.
Dan masih banyak lagi, untuk lebih jelasnya anda bisa masuk ke
situs resminya yaitu www.php.net
3
-
Hal baru di PHP 5
PHP 5 adalah versi terbaru sekarang, dengan berbagai macam
kelebihan yang ada dibandingkan pada versi sebelumnya yaitu versi
4, PHP 5 hadir dengan lebih banyak fungsi dan perbaikan bug.
Dengan PHP 5 kita mampu menangani dan membuat session pada
object. Kemudian ada juga tambahan library seperti GD2 untuk
memproses dynamic image dengan lebih efektif. Fungsi untuk
menangani Form dan Simple XML juga ditingkatkan di PHP 5, dan masih
banyak kelebihan dan tambahan fungsi yang dapat mempermudahkan kita
untuk bekerja dengan PHP & MySQL. Menginstall PHP Server di
desktop
Berbeda dengan bahasa pemprogaman HTML yang tinggal klik 2 kali
sudah bisa dijalankan di IE atau browser lainnya, PHP membutuhkan
sebuah aplikasi yang bernama web server emulator atau server
emulator atau program server untuk menjalankan scriptnya, lain
halnya jika anda mempunyai koneksi internet 24 jam dan mempunyai
dana lebih untuk menyewa hosting, dengan menyewa jasa hosting anda
cukup mengupload script yang anda buat ke dalam server..
Apabila anda memakai alternative yang pertama dalam menjalankan
script php, anda harus terlebih dahulu menjalankan aplikasi server
terlebih dahulu, baru kemudian memanggil atau menjalankan script
PHP. Program server yang dapat digunakan ada banyak diantaranya
adalah Phptriad, XAMPP, Reactor server, WAMP server dan masih
banyak lagi, namun bagi pemula disarankan untuk menginstal XAMPP
sebagai servernya, mengapa ? karena proses penginstalan server
XAMPP relative lebih mudah jika dibandingkan aplikasi server
lainnya, untuk mendownload XAMPP bisa didownload di situs
http://www.apachefriends.org/.
Gambar : XAMPP SERVER
4
-
MySQL MySQL adalah database yang cepat dan tangguh, sangat cocok
jika digabungkan dengan PHP, dengan database kita bisa menyimpan,
mencari dan mengklasifikasikan data dengan lebih akurat dan
professional. MySQL menggunakan SQL language ( Structur Query
Language ) artinya MySQL menggunakan query atau bahasa pemprogaman
yang sudah standar di dalam dunia database. Kelebihan MySQL
diantaranya :
1. Dari segi performa, MySQL tidak bisa diragukan, pemprosesan
database sangat cepat
2. Open source 3. Mudah untuk dipelajari 4. Kompabilitas dengan
berbagai system operasi dan web server yang ada
Mengapa Memilih PHP & MySQL Tidak semua bahasa pemprogaman
dapat berjalan di semua sistem operasi dan web server yang ada,
kalau dalam dunia programming, C dan Java adalah bahasa pemprogaman
yang dapat berjalan hampir disemua sistem operasi, apalagi dengan
Java, Java tidak lagi monoton masuk dalam dunia Komputer tetapi
juga merambah dalam dunia mobile seperti Smartphone dan
aplikasinya. PHP & MySQL adalah sebuah pasangan yang sangat
cocok dan dapat berjalan di hampir semua system operasi dan web
server yang ada. Alasan lain mengapa memilih PHP & MySQL adalah
karena perkembangannya yang sangat cepat apalagi PHP & MySQL
adalah bahasa pemprogaman yang bersifat open source, setiap waktu
selalu muncul fungsi-fungsi tambahan yang dapat meningkatkan
performa keduanya, apalagi ketika PHP sudah merambah kedalam dunia
desktop dengan dikembangkannya PHP GTK, maka harus menunggu apa
lagi, belajarlah mulai dari sekarang, tahap demi tahap, trial and
error, karena bahasa pemprogaman PHP & MySQL bisa dibilang
sebuah bahasa pemprogaman masa depan. Dan jika suatu saat Anda
berminat masuk kedalam dunia IT atau lebih khususnya Web
Deveploment maka anda sudah siap dan tidak terlalu banyak
tertinggal.
5
-
PHPdetail Function Pendahuluan Programmer yang handal adalah
programmer yang mampu membuat kode program se-efisien mungkin,
bayangkan jika kode-kode program yang memiliki fungsi yang sama
ditulis berulang-ulang, ditempatkan di setiap kode program, hal ini
tentulah tidak efisien dan akan mengakibatkan pembengkakan file
dari suatu program.
Fungsi hadir untuk memberikan solusi tersebut, kode-kode
programyang sama dibuatkan fungsinya, jika diperlukan maka tinggal
panggil saja.
Fungsi pada dasarnya terdiri dari blok-blok program yang dapat
dipanggil melalui include(), memasukkannya langsung ke kode program
utama, dan memanggil nama fungsinya.
Hal terpenting dari fungsi adalah fungsi dapat menerima value
dari luar, atau dikenal dengan parameter, value ini kemudian dapat
di olah dan hasilnya dapat digunakan di luar fungsi.
Jenis fungsi 1) Internal function : fungsi yang sudah disediakan
pada library PHP, untuk
memakainya cukup memanggilnya saja.
2) Define function : fungsi yang dibuat sendiri.
Manfaat menggunakan fungsi 1) Kode program lebih mudah di
baca.
2) Jika terdapat kesalahan mudah untuk di koreksi.
3) Perintah atau prosedur dalam suatu program dapat langsung
diubah dari fungsinya, tanpa harus mengubah program utama, dengan
begitu akan meningkatkan efisiensi dalam programming.
Memanggil fungsi Untuk memanggil suatu fungsi caranya :
nama_fungsi($parameter);
Di mana $parameter adalah value yang nantinya di olah pada
fungsi. $parameter dapat berupa tipe data integer, float atau
$variabel.
Contoh :
fungsi_hitung(2);
fungsi_hitung(2.7);
fungsi_hitung($variabel);
6
-
Note : $variabel juga dapat berupa array.
Contoh fungsi dan parameternya strip_tags ( string $str [,
string $allowable_tags] )
Penjelasan fungsi :
Strip_tags berfungsi untuk membuang tag-tag HTML & PHP dalam
suatu string. $str adalah variable yang mau diolah. Tanda []
bersifat optional, artinya boleh diberikan atau tidak.
Note : Pesan error akan muncul pada browser bila fungsi yang
dipanggil tidak terdapat dalam library
PHP atau salah penamaan, lihat gambar 1.
Gambar 1 : Pesan error ketika memanggil fungsi yang tidak ada
atau salah penamaan Pesan error yang ditampilkan di browser
sangatlah berguna, dari pesan error kita dapat
mengetahui di mana letak kesalahan ketika melakukan
programming.
Ada dua hal yang harus diperhatikan ketika melihat pesan error
:
1) Apakah nama fungsi yang dipanggil benar.
2) Jika memakai fungsi yang ada dalam Library PHP, cek apakah
fungsi yang dipanggil terdapat pada versi PHP yang digunakan.
Berdasarkan pengalaman penulis, hal yang sering terjadi adalah,
penulis lupa fungsi yang mau dipakai memakai tanda pemisah _ atau
tidak, sebagai contoh :
str_replace ( mixed $search, mixed $replace, mixed $subject [,
int&$count] )
7
-
strtok ( string $str, string $token ) Keduanya memiliki 3 huruf
depan yang sama str, suatu saat lupa yang memakai pemisah _ yang
mana ? oleh karena itu sampai saat ini, PHP Manual selalu berada
dalam USB, manakala dibutuhkan sebagai acuan tinggal search
saja.
Fungsi bersifat Case Insensitive Dalam hal penamaan, fungsi
bersifat insensitive, fungsi contoh(); , Contoh(); , CONToh(); ,
akan memberikan hasil yang sama.
Note : Disarankan, ketika membuat dan memanggil suatu fungsi
usahakan untuk menggunakan lowercase (huruf kecil) karena hal ini
sesuai dengan acuan dalam Library PHP.
Membuat Fungsi Sendiri Suatu fungsi yang terdapat dalam Library
PHP dapat melakukan berbagai macam hal, seperti menggunakan dan
menghubungkan database, membuat grafik/chart, membuat zip on the
fly, mengecek suatu format email, memotong dan menggabungkan text,
memecah atau menggabungkan array, membuat enkripsi suatu string,
mengcopy file dari server ke server, membuat folder, dan macam
sebagainya.
Namun tetap saja hal itu memiliki keterbatasan. Dengan membuat
fungsi sendiri, Anda dapat dengan bebas menggabungkan, memodifikasi
antara satu fungsi dan fungsi lainnya. Dengan begitu diharapkan
fungsi yang Anda buat efisien dan sesuai dengan kebutuhan.
Struktur Fungsi Struktur dasar fungsi dalam PHP sebagai berikut
:
function nama_fungsi()
{
Taruh kode program di sini;
}
Untuk membuat Fungsi ada beberapa hal yang harus diperhatikan
:
Awali setiap pembuatan fungsi dengan kata function. Nama fungsi
dapat berupa angka, huruf atau campuran keduanya, namun huruf
pertama tidak boleh angka.
Contoh penamaan fungsi yang salah :
function 1contoh ()
{
Contoh;
8
-
}
Nama fungsi tidak boleh sama dengan yang ada dalam Library PHP.
Contoh :
Function echo()
{
Kode;
}
Dalam tanda {}, merupakan tempat untuk menuliskan kode program.
Untuk memanggil fungsi, cukup dengan memanggil nama fungsinya.
Parameter Parameter merupakan nilai yang diberikan kepada fungsi
yang kemudian diolah dan hasilnya dapat digunakan di luar
fungsi.
Suatu fungsi bisa terdiri dari 1 parameter, 2 paramater, 3 dan
seterusnya, bahkan tanpa parameter sekalipun.
Contoh PHP script yang mengunakan parameter :
Output : 25
Penjelasan :
$nilai = 5 adalah variable yang mau di olah dalam fungsi
hitungmath. Function hitungmath($nilai) -> membuat suatu fungsi
dengan nama hitungmath
dan parameter $nilai, $nilai di sini merupakan nilai yang mau
diolah dalamfungsi hitungmath, dalam hal ini nilai yang mau diolah
sebesar $nilai atau 5.
Hitungmath($nilai); -> memanggil fungsi hitungmath. 9
-
Scope Variable Scope variable dapat diartikan sebagai sebuah
cakupan wilayah yang dapat ditangani oleh variabel.
PHP memiliki 2 jenis scope variable :
1) Lokal variable yaitu variable yang hanya dapat digunakan di
dalam fungsi.
2) Global variable yaitu variable yang dapat digunakan di luar
dan di dalam fungsi.
PHP memiliki beberapa syarat dalam variable scope, diantaranya
:
1) Variabel yang dideklarasikan di dalam sebuah function, hanya
dapat digunakan pada fungsi tersebut. Jenis scope variable ini
dikenal dengan local variable.
2) Variabel yang dideklarasikan di luar function, di kenal
dengan global variable.
3) Menggunakan perintah require() dan include() tidak
mempengaruhi area scope varibel. Jika suatu ketika memanggil dengan
perintah di atas dan variable terletak di dalam suatu fungsi maka
variable yang terdapat didalamnya adalah local variable, namun jika
variable terletak diluar fungsi maka variable tersebut akan
dianggap sebagai global variable.
4) Suatu variable dalam fungsi dapat dijadikan global variable
dengan cara menambahkan kata global pada variable yang
dideklarasikan.
5) Variable yang terbentuk dapat dihapus dengan cara
unset($nama_variabel).
Agar lebih paham mengenai variable scope, simak studi kasus
berikut :
variablescope1.php
Function scope()
{$
variabel = nilai;
}
echo $variabel;
Apa yang ditampilkan jika script di atas dijalankan ? jawabannya
tidak ada, lho kenapa ? Jika Anda benar-benar membaca dengan
seksama mengenai perbedaan local variable dan global variable maka
Anda tidak akan bingung.
$variabel yang ada pada function scope(), dinamai local
variable, variable ini hanya dapat digunakan di dalam function
scope() saja.
$variabel diluar function scope(), dinamai global variable,
variable ini bersifat global, karena $variabel tidak didefinisikan
sebelumnya maka tidak ada hal yang ditampilkan.
variablescope2.php
-
{e
cho Nilai variable sebelum deklarasi variabel = $var;
$var = 15;
echo nilai variable setelah deklarasi variable = $var;
}
Kasus2();
echo $var;
?>
Tebak apa yang keluar tanpa menjalankannya di browser ?
Pass by value dan Pass by reference Passby1.php
//print out
10
Script diatas akan menghasilkan $value = 10 bukan $value = 11
mengapa ? hal ini disebabkan karena peraturan scope variable. Kode
$value = 10 akan membuat sebuah variable bernama value dan bernilai
10, kemudian pada baris pass ($value); fungsi pass dipanggil.
Selanjutnya $value = 10 diproses, $value = $value +$tambah;, dengan
begitu nilai dari $value = 11, sesuai dengan peraturan scope
varibel, $value = 11 hanya akan sampai pada baris terakhir pada
fungsi, nilai yang telah diolah tidak akan dapat dipakai di luar,
singkatnya bersifat local variable.
Apa itu Pass by value dan Pass by reference? Pass by value dan
Pass by reference adalah cara bagaimana variable diolah.
11
-
Pass by value, variable yang diberikan oleh parameter hanya akan
diolah didalam fungsi, variable yang berada diluar fungsi akan
tetap. Dengan kata lain variable yang dipakai oleh suatu fungsi
tidak akan mempengaruhi variable yang ada diluar.
Pass by reference, jika pada pass by value, nilai hasil olahan
tidak dapat digunakan diluar fungsi, maka pass by reference
sebaliknya, hasil olahan yang telah diproses di dalam fungsi dapat
digunakan di luar fungsi, dengan kata lain value yang di luar
fungsi akan turut berubah seiring perubahan yang terjadi pada
variable didalam fungsi.
Passbyrefence.php
//print out
nilai sebelum fungsi 10
nilai sesudah fungsi 11
Note : Pemahaman yang mendalam mengenai scope variable, pass by
value dan pass by reference amatlah penting, karena dalam web
development skala besar hal-hal diatas amatlah diperlukan, terutama
dalam hal efisiensi kode program.
Fungsi Return Return berfungsi untuk menghentikan kode
program.
Contohreturn.php
-
cho "Data yang Anda isikan tidak lengkap";
return;
}
if(!empty($name) && !empty($pass))
{e
cho "selamat datang";
}
}
//variabel
datacek($username, $password);
?>
//input1
$username = "kinta mahadji";
$password = "root";
Masukan input1 dibawah kode blok //variable dan lihat
hasilnya.
//input2
$username = "kinta mahadji";
Ganti input1 dengan input 2 dibawah kode blok //variable dan
lihat hasilnya.
Penjelasan script Contohreturn.php
Fungsi dari isset() adalah untuk mencek apakah variable sudah
terbentuk, dan fungsi dari empty() adalah untuk memastikan bahwa
variable yang diberikan tidaklah kosong.
Ketika diberikan input1, variable2 terpenuhi, sehingga kode akan
langsung mencek apakah variable yang diberikan kosong atau tidak,
jika tidak kosong maka fungsi echo akan dijalankan.
Ketika diberikan input2, variabel2 yang dibutuhkankan tidak
terpenuhi, pada saat melakukan pengecekan variable pada baris
if(!isset($name) || !isset($pass)), maka fungsi echo akan
dijalankan dan kode akan dihentikan dengan return.
Script - script
Sample1.php A function to validate a username and password.
-
information
//in the database. For the sake of simplicity in this example,
the username
//and password are hard-coded into variables.
$actualuser = "myusername";
$actualpass = "mypassword";
//Now, you do a quick comparison to see if the user
has entered the correct login.
if (strcmp ($username, $actualuser) == 0 &&
strcmp ($password, $actualpass) == 0){
return true;
} else {
return false;
}}/
/You then call the function and pass in the values you want
checked.
if (validatelogin ("myusername","mypassword")){
echo "You are logged in correctly";
} else {
echo "You have an incorrect username and/or password";
}?
>
Sample2.php A function to return the sum of three values.
14
-
Sample3.php A function to concatenate text.
Sample4.php A function to add up any number of values.
-
}/
/Now, you can pass the function any numbers.
echo addanything (1,5,7,8,11) . ""; //Outputs 32.
echo addanything (1,1) . ""; //Outputs 2.
//It will ignore noninteger values.
echo addanything (1,1,"Hello World"); //Still outputs 2.
?>
sample5.php Function that will take in a set of values,
calculate them
16
-
Sample6.php A function to add two values
17
-
Batasi Download File dengan PHP Script
Salah satu masalah seorang web developer adalah ketika berusaha
melakukan
pembatasan download. Pembatasan download disini bukanlah
dimaksudkan sebagai manajemen bandwidth seperti yang dilakukan oleh
administrator jaringan komputer. Tapi yang dimaksud pembatasan
download disini adalah membatasi hanya user yang telah terdaftar
saja yang boleh melakukan download. Masalah kembali muncul ketika
browser menampilkan letak asli direktori penyimpanan file tersebut.
Tentunya script yang telah di buat menjadi sia-sia.
Masalah lain berkenaan dengan pembatasan download kembali ada
ketika user menggunakan download manager. Bisa diambil contoh
www.pdfchm.com.
Belakangan ini penulis pun memiliki beberapa pertanyaan.
Bagaimana melakukan pencegahan yang baik agar hanya user yang sudah
registrasi saja yang dipersilahkan untuk mendownload.
Maklum, banyak pendownload sejati yang tidak pernah kehabisan
akal untuk mencari cara bagaimana mendownload yang baik. :D~~
Termasuk penulis sendiri. :D~~
Beberapa waktu terakhir penulis mencoba merakit sebuah script
untuk memberikan solusi itu semua. Yang menakjubkan adalah
didalamnya sudah termasuk solusi pencegahan download oleh Download
Manager seperti IDM, Download Accelerator Plus, dan berbagai
download manager lain. :D~~
Yang ada hanyalah user mendapatkan file html biasa ketika
melakukan download menggunakan download manager. :D~~ Kesal memang
di sisi pendownload. Tapi menguntungkan bagi kita.
Setidaknya bisa meminimalisir masalah-masalah yang ada.
Yupsss... dari pada penulis berbicara sendirian nggak karuan,
lebih baik langsung penulis jabarkan sedetil mungkin mengenai cara
pembatasan download dengan php.
Di bawah ini hanyalah sebuah contoh yang penulis buat untuk
menjelaskan bagaimana cara kerja script ini.
Pertama adalah file index.php penulis tidak akan menjelaskan
script ini, karena cukup familiar.
18
-
Kedua adalah file reg.php. Penulis andaikan script ini adalah
keadaan ketika user telah teregistrasi dan akan mendownload file
yang diinginkan.
Ditampilkan sebuah form berikut security codenya. User
dipersilahkan untuk mengisi nama, email dan code yang telah
disediakan. Jika syarat telah terpenuhi maka user diperbolehkan
untuk melakukan download. Jika tidak user akan diredirect ke
halaman redirect.php .
Sedikit penulis jelaskan script diatas. Terdapat suatu fungsi
dan satu form.
Fungsi tersebut adalah generateCode() ...
$codenya = generateCode();
Fungsi ini diambil dari file code.php, isinya adalah sebagai
berikut :
-
$code .= substr($possible, mt_rand(0, strlen($possible)-1),
1);
$i++;
}
return $code ;
}
?>
Fungsi tersebut hanya melakukan proses randomisasi angka dan
huruf. Kemungkinan
angka-huruf dan berapa bit yang akan ditampilkan dapat diset
sesuai keinginan.
Kalimat intinya adalah :
while ($i < $characters) {
$code .= substr($possible, mt_rand(0, strlen($possible)-1),
1);
$i++;
}
Ini berarti, lakukan proses randomisasi sepanjang n $characters
dengan menggunakan variable $possible sebagai kemungkinannya.
Anda dapat menggunakan logika milik anda untuk melakukan proses
randomisasi. Ini hanya sebagai contoh proses randomisasi yang
nantinya digunakan sebagai security code. Balik lagi ke halaman
reg.php
$_SESSION['code'] = $codenya;
$_SESSION['download'] = session_id();
$_SESSION['cekdownload'] = $_SESSION['download'];
$_SESSION['code'] nantinya digunakan sebagai patokan untuk
melakukan pencocokan dengan variable $_POST['code']. Variable
$_POST['code'] sendiri dihasilkan dari text inputan bernama 'code'
yang dimasukkan oleh user ketika mengisi form inputan.
$_SESSION['download'] di peroleh dari session_id(), disini
penulis gunakan ketika user dalam kondisi telah login. Dan nantinya
pula akan digunakan untuk memberikan izin hanya user yang telah
teregistrasi saja yang dipersilahkan untuk mendownload.
$_SESSION['cekdownload'], penulis gunakan variable session ini
untuk penegasan saja.
Kemudian file cek.php berisi :
-
}
?>
script ini berfungsi untuk melakukan filterisasi :
if (ISSET($_POST['nama']) && ISSET($_POST['email'])
&& ISSET($_POST['code']))
ketika user telah berhasil memasukkan nama, email dan security
code
if ( $_SESSION['code'] == $_POST['code'])
dan apabila user telah benar mengisi security codenya maka
header ("location: download.php/true/$_SESSION[download]")
user akan di redirect untuk mendownload filenya. dan kalimat
ini
else { echo "Security Codenya Salah !!"; }
terjadi karena user salah mengisi codenya.
Kemudian script intinya adalah download.php :
21
Pengantar DOM XML Functions