AJAX XMLHttpRequest

30 03 2009

XMLHttpRequest objek adalah kunci utama untuk AJAX.

Fungsi ini sudah ada semenjak Internet Explorer 5.5 dirilis pada Juli 2000, namun tidak sepenuhnya dimanfaatkan hingga akhirnya menjadi populer dan mulai dibicarakan hingga menjadi istilah AJAX dan Web 2.0 pada tahun 2005.
dalam pembuatan Objek XMLHttpRequest
masing masing browser memiliki metode sendiri-sendiri, misalnya untuk mozilla firefox digunakan object XMLHttpRequest, sedangkan untuk Internet Explorer digunakan metode ActiveXObject.
berikut adalah contoh pembuatan object XMLHttpRequest

var XMLHttp = null;
 if (window.XMLHttpRequest) if (window.XMLHttpRequest)
   { (
   XMLHttp=new XMLHttpRequest(); XMLHttp = new XMLHttpRequest ();
   } )
 else if (window.ActiveXObject) else if (window.ActiveXObject)
   { (
   XMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); XMLHttp = new ActiveXObject ( "Microsoft.XMLHTTP");
   } )

Contoh di atas menjelaskan:

1. Terlebih dahulu membuat variabel XMLHttp digunakan sebagai obyek XMLHttpRequest. Mengatur ke nilai null.
2. Kemudian uji apakah objek window.XMLHttpRequest tersedia. Objek ini tersedia dalam versi Firefox, Mozilla, Opera, dan Safari.
3. Jika tersedia, gunakan untuk menciptakan sebuah objek: XMLHttp = new XMLHttpRequest ()
4. Jika tidak tersedia, jika tes obyek window.ActiveXObject tersedia. Objek ini tersedia di Internet Explorer versi 5.5
5. Jika tersedia, gunakan untuk menciptakan sebuah objek: XMLHttp = new ActiveXObject ()

Contoh di bawah ini mencoba untuk memuat Microsoft versi terbaru “Msxml2.XMLHTTP” yang tersedia di Internet Explorer 6, perbaruan dari versi sebelumnya yaitu “Microsoft.XMLHTTP”, tersedia di Internet Explorer 5.5 dan yang lebih baru.

berikut kodenya

function GetXmlHttpObject()
{
var xmlHttp=null;

try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}

Contoh di atas menjelaskan:

1. Terlebih dahulu membuat variabel XMLHttp digunakan sebagai obyek XMLHttpRequest. Mengatur ke nilai null.
2. Cobalah untuk membuat objek sesuai dengan standar web (Mozilla, Opera dan Safari) contoh: XMLHttp = new XMLHttpRequest ()
3. Cobalah untuk membuat objek Microsoft yang tersedia di Internet Explorer 6 dan kemudian. contoh: XMLHttp = new ActiveXObject ( “Msxml2.XMLHTTP”)
4. Jika ini menerima kesalahan, maka coba dengan kode versi sebelumnya (Internet Explorer 5.5) contoh: XMLHttp = new ActiveXObject ( “Microsoft.XMLHTTP”)

sipp





PHP File Upload

29 03 2009

dengan PHP kita bisa meng upload file ke Server
cara mudah dalam pembuatan program upload yaitu diperlukan 2 file.
1. bisa berupa file HTML atau PHP yang berfungsi sebagai form serta interface untuk mengantarkan file yang akan di upload
2. berupa file PHP, yang berfungsi untuk memproses upload file

disini ada sebuah contoh sederhana program upload file

tulis kode HTML seperti ini (sebagai form upload)

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

kemudian kita tulis kode berikut sebagai pemroses upload (“upload_file.php”)

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "
";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "
";
  echo "Type: " . $_FILES["file"]["type"] . "
";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

keterangan:
* $_FILES["file"]["name"] – adalah nama file yg di upload
* $_FILES["file"]["type"] – adalah tipe/extensi file yg di upload
* $_FILES["file"]["size"] – adalah ukuran file yg di upload
* $_FILES["file"]["tmp_name"] – adalah nama sementara untuk proses upload di server
* $_FILES["file"]["error"] – kode error apabila upload file mengalami kegagaln

cara diatas sangat sederhana sehingga masih rawan dalam sisi keamanan
upload file bisa kita batasi, artinya tidak boleh sembarang file boleh di upload, karena sangat berbahay apabila file yg di upload mengandung virus/trojan atau script jahat lainnya yg bisa mengancam website maupun server.

dibawah ini adalah salah satu contoh sederhana dalam melakukan pembatasan file upload dari sisi tipe file dan pembatasan ukuran file yang akan di upload ke server

<?php

if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"]  0)
    {
    echo "Error: " . $_FILES["file"]["error"] . "
";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "
";
    echo "Type: " . $_FILES["file"]["type"] . "
";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
    echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
  }
else
  {
  echo "Invalid file";
  }
?>

menyimpan file yang telah di upload
contoh dibawah adalah cara peng copyan file sementara (temporary file) yang di simpan di folder temporary pada server
file yg ter upload dalam folder temporary akan menghilang secara sendirinya apabila proses dalam script selesai, maka untuk menyimpan file yg telah ter upload, maka kita arahkan pada folder yang lain yang sudah kita tentukan
seperti contoh dibawah ini

<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"]  0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "
";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "
";
    echo "Type: " . $_FILES["file"]["type"] . "
";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb
";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "
";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>

script diatas akan mengecek apabila file yg di upload sudah ada di server, apabila tidak ada, maka akan meng copy file upload temporary tersebut ke dalam folder yang sudah ditentukan (contoh folder diatas bernama “upload”)

silahkan mencoba…





Seting Tanggal dengan fungsi date()

29 03 2009

pembuatan fungsi tanggal sangat sederhana
penulisannya seperti ini:

date(“formatting_option”).
formating_option yaitu cara penulisan format dalam bentuk karakter atau syntax yang bermacam macam bentuknya. adapun daftar dari formating option sebagai berikut

a  	"am" or "pm" -> menentukan waktu dalam format am atau pm (huruf kecil)
A 	"AM" or "PM" -> menentukan waktu dalam format am atau pm (huruf besar)
B 	Swatch Internet time
d 	day of the month, 2 digits with leading zeros; i.e. "01" to "31"
D 	day of the week, textual, 3 letters; i.e. "Fri"
F 	month, textual, long; i.e. "January"
g 	hour, 12-hour format without leading zeros; i.e. "1" to "12"
G 	hour, 24-hour format without leading zeros; i.e. "0" to "23"
h 	hour, 12-hour format; i.e. "01" to "12"
H 	hour, 24-hour format; i.e. "00" to "23"
i 	minutes; i.e. "00" to "59"
I (capital i) 	"1" if Daylight Savings Time, "0" otherwise.
j 	day of the month without leading zeros; i.e. "1" to "31"
l (lowercase 'L') 	day of the week, textual, long; i.e. "Friday"
L 	boolean for whether it is a leap year; i.e. "0" or "1"
m 	month; i.e. "01" to "12"
M 	month, textual, 3 letters; i.e. "Jan"
n 	month without leading zeros; i.e. "1" to "12"
r 	RFC 822 formatted date; i.e. "Thu, 21 Dec 2000 16:01:07 +0200" (added in PHP 4.0.4)
s 	seconds; i.e. "00" to "59"
S 	English ordinal suffix, textual, 2 characters; i.e. "th", "nd"
t 	number of days in the given month; i.e. "28" to "31"
T 	Timezone setting of this machine; i.e. "MDT"
U 	seconds since the epoch
w 	day of the week, numeric, i.e. "0" (Sunday) to "6" (Saturday)
Y 	year, 4 digits; i.e. "1999"
y 	year, 2 digits; i.e. "99"
z 	day of the year; i.e. "0" to "365"
Z 	timezone offset in seconds (i.e. "-43200" to "43200"). The offset for timezones west of UTC is always negative, and for those east of UTC is always positive.

contoh penulisannya seperti ini

//mengembalikan nilai tanggal (0-31), month (3 letters) and year(4 digits)
print date("d-M-Y");

tampilannya seperti ini
09-May-2002

print date("d^^^M^^^Y");

tampilannya seperti ini
09^^^May^^^2002

print date("D dS M,Y h:i a");

tampilannya seperti ini
Thu 09th May,2002 06:13 pm

print date("l M dS, Y, H:i:s",5678);

tampilannya seperti ini
Thursday Jan 01st, 1970, 03:34:38

print date("The time is: H.i");

tampilannya seperti ini
SAST11e 314605e 4638: 23.46

print date("\T\he \\t\i\m\e \i\s: H.i");

tampilannya seperti ini
The time is: 23.54

sangat sederhana kan…





Aplikasi Penilaian Siswa SMPN 1 Gresik (Raport)

29 03 2009

Aplikasi Penilaian siswa (RAPORT)
Screen shoot

Tampilan awal aplikasi




Random Angka Sederhana

28 03 2009

kita dapat me generate angka random dengan mudah dengan kode PHP seperti contoh dibawah ini

<?php
echo "<br>Nilai Random = ".rand(5,10);
?>

penjelasannya:

pada fungsi rand(5,10);
angka 5 adalah angka integer awal minimal
angka 10 adalah angka integer akhir maksimal

jadi begitu browser di refresh, angka yg muncul berkisar diantara angka 5 sampai 10.
misalnya angka 5 kita ganti dengan angka 1200 dan angka 10 kita ganti dengan 5000

maka angka random yg muncul diantara angka 1200 sampai 5000

gampang…





Random Karakter sederhana

28 03 2009

kita dapat membuat random karekter dengan menukiskan kode PHP dibawah ini

<?php
srand ((double) microtime() * 10000000);
$input = array ("A", "B", "C", "D", "E","F","G","H","I","J","K","L","M","N","O","P","Q",
"R","S","T","U","V","W","X","Y","Z");
$rand_index = array_rand($input,16);
print $input[$rand_index[3]];
print $input[$rand_index[5]];
print $input[$rand_index[4]];
print $input[$rand_index[2]];
echo " - ";
print $input[$rand_index[1]];
print $input[$rand_index[0]];
print $input[$rand_index[6]];
print $input[$rand_index[7]];
echo " - ";
print $input[$rand_index[8]];
print $input[$rand_index[9]];
print $input[$rand_index[10]];
print $input[$rand_index[11]];
echo " - ";
print $input[$rand_index[12]];
print $input[$rand_index[13]];
print $input[$rand_index[14]];
print $input[$rand_index[15]];

?>

hasilnya seperti ini

SQNU – RZPA – DKHV – JWGM

dan akan selalu berubah apabila browser kita refresh

sederhana kan….





Hati-hati Curanmor

16 12 2008

Alhamdulilah, dalam hati aku masih bersyukur..
tadi malem akuĀ  maen ke rumah bolo.. di daerah jalan Arjuno – surabaya trus mau pulang eh kok hujan deras gak berhenti. yaudah kuputuskan untuk menunda pulang. sambil menunggu hujan reda aku utak-atik script php untuk presentasi besok yg akan disampekan sama boloku ini (achank namanya). sambil guyon2 gak terasa udah jam 12 malam…

wuh hujan masih gerimis rintik-rintik..sambil minum kopi & smoking party (ha..ha.. kaya apa ae..) sampe jam 1.pagi siap2 pulang. begitu udah sampe didepan motor mau masukin kunci kontak…lho….
kan memang agak gelap posisi motor karena bayangan tembok..jadi sampe tak pelototin tuh lobang kunci.ternyata udah rusak alias di bandrek….sialan. berarti motor ku tadi udah jadi target pencurian. setelah aku teliti lagi. ternyata kunci T (istilah para curanmor-alat untuk merusak kontak motor) patah & tertinggal di dalam…

ows..dalam hati aku bersyukur lagi..andaikan kalo kunci T nya gak patah pasti motor mio (punya istriku) udah lenyap…dan apa kata dunia…ha..ha..

trus aku & temanku berpikir gimana cara untuk mengeluarkan sisa patahan kunci T yg masih tertinggal di dalam lobang kunci kontak. akhirnya beberapa alat dikeluarkan ya obeng, tang, sampe akhirnya bisa aku cungkil sedikit demi sedikit pake paku…

yes..ternyata panjang juga sisa patahan kunci T nya, kira2 4 cm lah.. trus aku coba masukan kunci kontakku untuk membuka kuncian agak susah pelan2 jgn sampe kunci motorku ikut patah..akhirnya bisa juga …

lega rasanya..abis itu langsung tancap gas mumpung jalan antara Arjuno – Gunungsari sangat lenggang (yaiya lah, wong jam 02.00) sampe rumah…Alhamdulilah

so, buat teman2. mesti hati-hati kalo mau parkir kendaraan, apalagi dijaman krisis seperti ini, orang bisa nekad melakukan apa saja asal mendapatkan uang…

ok CU…aku mau ke bengkel, ganti kunci kontak yg rusak dulu