
Archive for the ‘Tutorial PHP’ Category


Anda tentu pernah dengar tentang SQL injection bukan, ia adalah salah satu cara hacker/cracker untuk memecah/mengodam/menukar data anda yang disimpan di dalan database SQL.
Mereka yang ingin melakukan SQL injection ini akan mencari entry point / attack surface / backdoor yang membolehkan mereka memecah masuk ke dalam database kita. Jadi untuk mengelakkan perkara ini berlaku, sebagai programmer kita perlu memastikan semua input yang dimasukkan oleh user valid dan tiada unsur hacking. Dalam istilah english, ia dipanggil sanitization of user inputs to decrease the attack surface. (mana tau kot2 anda nak googling lepas baca tutorial ni kan?).
function sql_quote( $value ){ if( get_magic_quotes_gpc() ) { $value = stripslashes( $value ); } //check if this function exists if( function_exists( "mysql_real_escape_string" ) ) { $value = mysql_real_escape_string( $value ); } //for PHP version < 4.3.0 use addslashes else { $value = addslashes( $value ); } return $value; }
Contoh penggunaan, saya ambil contoh mudah;
Katakan anda mempunyai variable $_POST[’username] . Jadi apa yang perlu anda lakukan sebelum melakukan apa2 SQL query adalah $username = sql_quote($_POST[’username’]);
sng bukan? tiada lagi ancaman sql injection.
Popularity: 32% [?]


Salam kepada semua pengunjung mdpai.com,
Buat masa sekarang saya amat sibuk dengan projek2 yang datelinenya semakin hampir, so kalau YM anda tak terbalas tu, faham2 la ye. jangan merajuk pulak dah tak tegur saya dah. =) So hari ni saya akan menulis tentang bagaimana membina file pdf menggunakan php, atau lebih tepat lagi dengan menggunakan class FPDF (free PDF) dari Olivier Plathey (client terbaru sy meminta supaya data2 dari database di print dengan lawa dan tersusun. So saya ambil keputusan untuk menggunakan class fpdf ni. Alang2, ada bahan untuk dimuatkan kat mdpai.com). File untuk class ini boleh didapati di sini.
Di antara features FPDF adalah;
- Choice of measure unit, page format and margins
- Page header and footer management
- Automatic page break
- Automatic line break and text justification
- Image support (JPEG and PNG)
- Colors
- Links
- TrueType and encoding support (Central European, Cyrillic and Greek)
- Page compression
*dipetik dari phpclasses.org
Popularity: 60% [?]


Dalam post saya yang lepas, saya menerangkan tentang command SQL yang boleh kita pakai jika kita menggunakan PHP dengan database. Post kali ini pula, saya akan menerangkan tentang function2 MySQL yang boleh kita guna pakai dalam PHP termasuk dengan parameter function2 tersebut. Dalam bahagian 1 ini, saya hanya akan terangkan beberapa fungsi yang asas (yang selalu digunapakai jika kita bekerja dengan database).
mysql_connect();
Function ini digunakan untuk membuka sambungan dengan server mysql. Juga terdapat mysql_pconnect() yang fungsinya tidak jauh berbeza dengan mysql_connect()
Parameter : [string $server [, string $username [, string $password [, bool $new_link [, int $client_flags]]]]]
Contoh penggunaan biasa:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link); ?>
mysql_close();
Function ini digunakan untuk menutup sambungan dengan server mysql.
Parameter : [resource $link_identifier]
Contoh penggunaan biasa:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password'); if (!$link) { die('Could not connect: ' . mysql_error()); } echo 'Connected successfully'; mysql_close($link);
mysql_error();
Function ini digunakan untuk menyimpan mesej error dari operasi sql yang terakhir.
Contoh penggunaan biasa:
$link = mysql_connect("localhost", "mysql_user", "mysql_password"); mysql_select_db("nonexistentdb", $link); echo mysql_errno($link) . ": " . mysql_error($link). "\n"; mysql_select_db("kossu", $link); mysql_query("SELECT * FROM nonexistenttable", $link); echo mysql_errno($link) . ": " . mysql_error($link) . "\n";
Popularity: 19% [?]


Dibawah merupakan listing syntax atau command untuk MySQL (pemprosesan database). Saya ni jenis yang tak suka hafal, jadi selalunya saya akan buka beberapa tab dalam browser, khas untuk reference PHP, MySQL, dan Javascript (bukan perangai coder yang baik, jadi jgn contohi).
Dalam 2-3 post akan datang, saya akan tekankan tentang database (saya gunakan MySQL). (more…)
Popularity: 12% [?]


Study case adalah ruangan baru yang saya buat khas untuk membincangkan tentang masalah2 yang mungkin anda hadapi ketika membina satu2 aplikasi menggunakan PHP. Jika anda ada apa2 masalah yang mahu dikongsi bersama, sila email ke coozthaseq@yahoo.com dengan menggunakan “study case mdpai.com” sebagai subject email anda.
Study case kali ini adalah masalah yang saya ambil dari forum php.net.my. Masalah ini dikemukakan oleh sdr bushak;
“..
Katakan aku nak buat seacrh function.. User ada pilihan 2 input utk search:
1. nama
2. asal (negeri)User boleh buat searching samada kedua² pilihan tersebut atau salah satu jer.. ..”
Jika field anda ada 2/3 saja, takde masalah, anda boleh test jika field itu di isi atau tidak dengan menggunakan function if else biasa. Tapi cuba bayangkan jika terdapat 10 field dan user boleh pilih nak isi yang mana dia mahu (maksudnya field2 tersebut tidak wajib diisi, field2 terbabit hanya akan diproses jika ianya tidak NULL).
Ini cadangan saya terhadap permasalahan ini;
$myArray = Array("nama" => $option1, "asal" => $option2, "umur" => $option3); $where = "SELECT * FROM user WHERE "; foreach($myArray as $key => $value){ if($value != ""){ $value = $key." RLIKE ".$value; } } $temp = implode(" AND ", $myArray); $where .= $temp;
Popularity: 8% [?]


Setiap form yang diisi oleh pengguna mestilah di’valid’kan / diperiksa terlebih dahulu. Saya masih ingat lagi satu ayat dari sebuah buku PHP yang saya baca, “..Jangan percaya satu pun yang user anda masukkan! Check all of them!..”. Form Validation adalah antara benda yang mudah tapi leceh untuk dilaksanakan dengan menggunakan PHP. Tengok contoh di bawah:
if(!$name){ Name field missing! } if(!$age){ Age field missing! }
Popularity: 15% [?]


Kelas kali ini adalah rentetan dari Kelas 6 - Contact Us/Feedback Form. Kebanyakan dari pengunjung mdpai.com yang menghubungi saya mengatakan bahawa email yang mereka hantar dengan menggunakan script di dalam kelas 6 tidak sampai ke inbox pengguna tetapi masuk ke dalam spam box.
Popularity: 10% [?]


Seringkali, kita sering membaca semula code PHP yang kita tulis setengah tahun yang lepas. Tapi, mesti kita terfikir, “..ni code ke apa ni? aku coding macam ni ke, tak faham langsung!..”. Ha tulah jadinya jika kita coding sesuka hati tanpa berfikir dahulu, salah satu ciri code PHP yang baik adalah walaupun 6 bulan selepas itu, kita masih lagi faham apa yang kita telah tulis. Kebaikan untuk ini adalah, kita boleh menggunakan semula code2 lama kita tanpa perlu menulisnya kembali, sng cerita jimat MASA.
Bagi saya, 2 benda yang paling penting untuk tujuan ini ialah nested block dan juga commented block.
Contoh:
if($user == "admin") { //if user == admin//code utk admin di siniif($varA == $varB) { //if varA == varB//code di sini//code lagi di sini} //end if varA == varB} //end if user == admin
Dalam code di atas, ada 2 blok IF, tengok yang saya telah komen setiap pembuka blok dan juga penutup blok. Ini penting jika code anda itu panjang dan terdapat banyak blok. Jika kita membaca code ini setahun akan datang pun, kita akan tahu, penutup blok ini untuk blok yang mana, penutup yang ini pula untuk blok yang mana. Jadi kita boleh jimat MASA untuk proses coding di kemudian hari.
Satu perkara lagi yang sering dilupakan ialah nested block. Lihat yang saya telah tabkan blok2 code saya. Nampak lebih teratur dan kemas bukan? Satu kelebihan utama berbuat begini ialah code kita senang dibaca oleh orang lain dan juga oleh diri kita sendiri.
Kesimpulan, saya tahu yang walaupun kita tak buat 2 convention di atas, memang takde masalah, code kita still betul. Tapi cuba bayangkan, 2-3 bulan selepas itu, kita nak tambah atau edit code kita yang sedia ada. Ha time tu baru tau kepentingan convention ni. =)
Popularity: 8% [?]


Saya telah pun menyiapkan hampir 90% sistem penyelarasan affiliate yang sy ada janjikan pada post2 sebelum ini.. Sebenarnya sistem ni sy dah test kat localserver (pc saya), dan ianya dah berjaya..Namun setelah sy cuba upload, terdapat error file creation..insyaAllah saya akan memperbaiki error ini secepat mungkin…Nantikan sistem ini daripada saya.
UPDATE TERKINI:
Saya sedang menambah beberapa fungsi kepada sistem.
Popularity: 10% [?]


Mungkin anda pernah terfikir, “hmm..pjg sgt la link affiliate aku ni..mane ade org teringin nak masuk?..” atau “tak menarik btul link affiliate aku ni, byk nombor la..”
Dengan PHP, ada satu cara mudah yang boleh mengatasi masalah ini. Contoh anda memiliki satu web www.affiliate-saya.com, yang khas untuk menjual produk-produk affiliate yang anda sertai. Memang bagus, tapi anda baru perasan bahawa web anda penuh dengan link affiliate!
Caranya mudah sahaja, create satu folder baru di dalam root anda (selalunya folder www atau public_html)..Cth anda mahu menjual produk komputer, create folder bernama komputer. Kemudian di dalam folder ini, create satu file index.php.
Dalam file index.php ini, letakkan code di bawah:
header("Location: http://www.kedai.com/?aff=mdpai");
** tukar link affiliate mengikut link affiliate anda.
Save file tersebut. Siap! tak sampai seminit dah siap..sekarang anda tidak perlu lagi promosi link affiliate yang pjg, tetapi link yang menggunakan nama domain anda sendiri. ( dalam kes ini, anda hanya perlu mempromosikan www.affiliate-saya.com/komputer)..
Download contoh code di sini
Popularity: 10% [?]















