Mungkin Yang Anda Cari Ada di Sini

Tampilkan postingan dengan label Tutorial Perl. Tampilkan semua postingan
Tampilkan postingan dengan label Tutorial Perl. Tampilkan semua postingan

Senin, 04 Oktober 2010

Membuat Form Mail


Membuat Form Mail


Anda tentunya sudah sering menggunakan email, baik email yang disediakan oleh provider Anda atau email yang berbasiskan web (free web based email). Pada tutorial kali ini akan kami berikan contoh bagaimana mengirimkan email lewat sebuah form (halaman HTML). Sebelumnya buatlah file formmail.html seperti contoh berikut ini :

<html>
<head>
<title>Contoh formmail.html</title>
</head>
<body>
<form action="http://www.klik-kanan.com/cgi-bin/formmail.cgi" method="post">
Nama Anda : <input type="text" name="nama"> <br>
Email : <input type="text" name="email"><br>
<input type="submit" value="Kirim">
<input type="reset" value="Hapus">
</body>
</html> 




Lihat contoh formmail.html


Sedangkan script Perl-nya adalah sebagai berikut (script tersebut bisa Anda beri nama formmail.cgi) :

#!/usr/bin/perl 

# path yang menunjukkan letak program sendmail


$program = "/usr/sbin/sendmail"; 
# email Anda, perhatikan tanda \ sebelum @


$email = "alzamora\@mclarenfans.com";

print "Content-type:text/html\n\n"; 

# parse form


read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value; } 

# Kirim email


open (MAIL, "|$program -t");



# Email dari

print MAIL "From: form mail\n";



# Kirim email ke alamat email Anda

print MAIL "To: $email\n";



# Reply ke pengirim email

print MAIL "Reply-to: $FORM{'email'}\n";



# Subject email

print MAIL "Subject: Form mail - email dari $FORM{'name'}\n\n";



# isi email

print MAIL "$FORM{'message'}\n";
close(MAIL);

print <<EndofHTML;
<html>
<head>
<title>Terima kasih</title>
</head>
<body>
<h2>Terima kasih</h2>
Email Anda telah terkirim
</body>
</htm>
EndofHTML
;

Mengenal Variabel Lingkungan (2)

Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu

Mengenal Variabel Lingkungan 

Oleh : Yohanes Nugroho


Input dengan metode GET

Input form yang dikirim dengan metode GET akan dilewatkan sebagai variabel lingkungan QUERY_STRING oleh webserver, jadi sekalian topik ini dibahas di tutorial bagian kedua ini. Sekarang coba buat file html dengan body berisi baris-baris seperti ini:

<form method ="get"
actioan="http://langitbiru.hypermart.net/demos/env.pl">
Nama : <input type="text" name="nama"><br>
<input type="submit" value="kirim"> </form
e-mail : <input type="text" name="mail"<br
>>



Yang seharusnya akan tampil seperti ini:

Nama :  
e-mail :  

Ketikkan sembarang untuk input nama dan email, lalu klik 'kirim'. Jika saya masukkan input nama : Yohanes Nugroho dan emailnya webmaster@langitbiru.hypermart.net, maka nilai query string akan seperti ini:

QUERY_STRING = nama=Yohanes+Nugroho&mail=webmaster@langitbiru.hypermart.net

Dari sana bisa dilihat bahwa teks dikirim dengan format seperti ini:
  1. antara setiap variabel dipisahkan dengan ampersand (&)
  2. spasi akan diubah menjadi plus (+)
Kalau begitu Anda pasti bertanya, lalu + dan & dikodekan jadi apa?. Mari kita coba ubah inputnya menjadi, nama adalah Lia & Bob, email menjadi lb@langitbiru.hypermart.net. Nilai query string akan seperti ini:





QUERY_STRING = nama=Lia+%26+Bob&mail=lb@langitbiru.hypermart.net





jadi ada tambahan lagi, karakter-karakter khusus akan di-encode menurut nilai ascii-nya dalam heksadesimal. Skrip berikut ini akan melakukan pemrosesan sehingga nilai-nilainya dipisahkan dan dikembalikan (di-decode) kebentuk asalnya agar bisa diproses:


#!/usr/local/bin/perl
rint "Content-type: text/plain\n\n";
p$input = $ENV{'QUERY_STRING'};
each $datum (@data){
@data = split(/&/, $input); fo r ($key, $nilai)= split (/=/,$datum);
nilai =~ tr/+/ /; #la
#plus dijadikan spasi $lu bil hexanya dipack
Fa-f][0-9A-Fa-f])/pack("c",hex($1))/ge; $FORM{$key}=$n
$nilai =~ s/%([0-9A -ilai; } foreach $var (keys %FORM){ print "$var = $FORM{$var}\n";
}

Sekarang hasil keluarannya sudah lebih baik. Anda bisa mencoba mengetikkan sembarang data dan elihat hasilnya.
Nama :  
e-mail :  




Sekarang saya jelaskan bagaimana pemrosesan ini dilakukan. pertama kita ambil input dari variabel lingkungan QUERY_STRING, lalu pisahkan setiap variabel (yang dibatasi oleh &) dengan split. Hasilnya ada di varibel array @data. Lalu untuk setiap pasangan nama dan nilai variabel kita proses lagi dalam loop foreach. Pisahkan nama dari nilai dengan memakai split, lalu isi variabel nilai akan diproses.

$nilai =~ tr/+/ /;

akan mengubah plus menjadi spasi. Lalu untuk mem-pack bilangan heksanya dilakukan dengan:

$nilai =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("c",hex($1))/ge;



artinya, ubah untaian karakter % yang diikuti dua bilangan heksa (0-9, A-F) menjadi representasinya dalam karakter ascii. Selanjutnya nilainya dimasukkan dalam variabel %FORM, untuk bisa digunakan pada bagian selanjutnya (sebenarnya kalau mau bisa langsung diproses).


Mengenal Variabel Lingkungan

Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu

Mengenal Variabel Lingkungan 

Oleh : Yohanes Nugroho



Ketika sebuah program CGI dipanggil, maka webserver akan menjalankannya dengan mengeset variabel lingkungan (environment variable) yang dapat diakses oleh program CGI tersebut. Variabel lingkungan ini berisi informasi mengenai lingkungan tempat CGI itu dijalankan, dan juga beberapa informasi mengenai client yang meminta output program tersebut. Berikut ini saya berikan sebuah contoh skrip CGI yang akan mencetak semua nilai variabel lingkungan yang ada. Pasanglah di server Anda, dan lihat hasilnya.

#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
foreach $keys (keys %ENV) {
$keys}<br>\n" }
print "$keys = $ENV
{

Sedikit penjelasan, %ENV adalah array assosiatif yang berisi variabel lingkungan, dan loop foreach $keys (keys %ENV) {...} akan menelusuri setiap isi array tersebut.

Saya juga sudah menginstall skrip tersebut di langitbiru. Anda bisa mencobanya dengan mengklik http://langitbiru.hypermart.net/demos/env.pl. Jika Anda melihat ini artikel ini secara offline, dan tidak bisa mencoba skripnya, saya berikan sample outputnya di sini (tidak lengkap, hanya bagian yang menarik saja):

REMOTE_ADDR = 127.0.0.1
QUERY_STRING =
= Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) HTTP_CONNECTION
HTTP_USER_AGENT = Keep-Alive SERVER_PORT = 80
.net
HTTP_HOST = langitbiru.hypermar t



Yang di sebelah kiri tanda sama dengan (=) adalah nama variabelnya, sedangkan yang disebelah kanan adalah nilainya (isinya). Anda sudah melihat bahwa dari variabel lingkungan ini Anda bisa tahu broswer apa yang digunakan (dari HTTP_USER_AGENT) dan alamat IP client (dari REMOTE_ADDR). Sekarang Anda bisa membuat skrip seperti ini:


#!/usr/local/bin/perl
print "Content-type: text/html\n\n";
print "Browser Anda adalah: $ENV{'HTTP_USER_AGENT'}<br>";
print "IP Anda: $ENV{'REMOTE_ADDR'}<br>";


Informasi seperti ini bisa Anda log untuk keperluan tertentu. 




Contoh script Perl sederhana



Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu




Contoh script Perl sederhana


Di bawah ini adalah sebuah contoh script Perl yang masih sederhana :

#!/usr/bin/perl
# Contoh script Perl sederhana
print "content-type: text\html\n\n";
print "<HTML><HEAD><TITLE&gtTest</TITLE></HEAD>\n";
print "<BODY>Baru belajar Perl, ya\n\n";
print "</BODY></HTML>\n";
exit;


Jika script tersebut diletakkan pada server dan dijalankan maka akan muncul tulisan "Baru belajar Perl, ya" pada browser kita. Berikut ini adalah penjelasan dari script di atas : 




Baris pertama : 




#!/usr/bin/perl 




Baris ini memberitahu server letak interpreter yang diperlukan untuk mengeksekusi script kita. Letak path interpreter ini berbeda antara server yang satu dengan yang lainnya. Jika Anda memakai Virtual Avenue maka letaknya adalah /usr/bin/perl



Baris kedua :




# Contoh script Perl sederhana

Baris ini adalah baris komentar. Pada Perl setiap komentar harus di awali dengan tanda # sehingga tulisan yang terletak di sebelah kanan tanda # akan diabaikan oleh interpreter (kecuali pada baris pertama).



Baris ketiga :




print "content-type: text\html\n\n";

Baris ini disebut MIME header yang fungsinya memberitahu server jenis informasi yang kita kirim. Dalam contoh ini informasinya berjenis HTML/Text. 




Baris keempat sampai baris keenam :




print "<HTML><HEAD><TITLE&gtTest</TITLE></HEAD>\n";



print "<BODY>Baru belajar Perl, ya\n\n"; 



print "</BODY></HTML>\n";



Baris tersebut memasukkan kode-kode HTML dan menuliskan string untuk ditampilkan pada browser. 







Baris ketujuh :




exit;




Baris ini akan memberitahu Perl interpreter bahw skript sudah selesai. Baris ini bersifat optional, artinya dapat dituliskan dapat juga tidak dituliskan.


Ingat : Setiap baris script pada Perl harus selalu diakhiri dengan tanda titik koma.


selanjutnya »

Syarat Untuk Menulis Perl

Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu


Syarat Untuk Menulis Perl






Untuk dapat menulis Perl dan mengetes/menjalankannya, dibutuhkan beberapa syarat, yaitu :





- Perl for Windows, Ultra Edit, Perl Builder, dll. 

Jika Anda ingin menulis Perl dengan menggunakan MS Windows 95/98/NT/2000/ME, maka software-software di atas mutlak diperlukan. Tapi Anda pun bisa menggunakan Notepad untuk menulis script Perl tersebut, kemudian menggunakan Ultra Edit untuk mengkonversi script dari platform Windows ke UNIX.


- Browser dan akses internet





Tentu saja ini juga mutlak diperlukan untuk mengetes script kita. Bila Anda langsung menggunakan UNIX/Linux untuk menulis script CGI, maka script tersebut dapat langsung kita coba, tanpa harus connect ke internet.





- Server gratisan yang melayani CGI.


Kebanyakan server gratisan -- karena alasan keamanan -- tidak melayani CGI. Namun jangan khawatir, karena sekarang juga tersedia banyak server gratisan yang melayani CGI. Lihat daftarnya di sini. Server yang melayani CGI dengan cukup baik adalah Virtualave dan Hypermart.

Common Gateway Interface

Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu


Common Gateway Interface



CGI (Common Gateway Interface) merupakan suatu bentuk hubungan interaktif di mana client (browser) dapat mengirimkan suatu masukan kepada server, dan server mengolah masukan tersebut serta mengembalikannya kepada client (browser). Contoh sederhana adalah saat Anda menggunakan suatu search engine. Saat Anda menuliskan keyword dan menekan tombol Search maka browser akan mengirimkan keyword tersebut ke server. Keyword tersebut lalu diolah oleh server dan server mengirimkan data hasil pengolahan (yang sesuai dengan keyword yang kita masukkan) ke browser kita. Jadi yang kita lihat pada browser hanya data yang sesuai dengan keyword yang kita masukkan.

Untuk dapat menggunakan CGI syarat pertama adalah server dengan sistem operasi UNIX (beserta variantnya). Namun perlu Anda perhatikan bahwa tidak semua server UNIX (yg gratisan) mampu menangani dan melayani CGI. Server-server yang melayani penempatan web gratisan seperti Geocities dan Homepage, tidak mengijinkan penempatan script CGI dalam web kita. Untuk itu Anda bisa mencoba Virtual AvenueTripod, atau Hypermart (daftar lengkapnya bisa Anda lihat di sini).

Program CGI ditulis dalam bahasa yang dapat dimengerti oleh sistem misalnya C/C++, Fortran, Perl, Tcl, Visual Basic, dan lain-lain. Pemilihan bahasa yang digunakan tergantung dari sistem yang digunakan. Jika kita menggunakan bahasa pemrograman seperti C atau Fortran maka program-program yang kita buat harus dikompile terlebih dahulu sebelum dijalankan sehingga pada server akan terdapat source code dan program hasil kompilasi. Berbeda bila kita menggunakan bahasa script seperti PERL, TCL, atau Unix Shell maka hanya akan terdapat script itu sendiri (tanpa ada source code). Banyak orang yang lebih suka memilih menggunakan script CGI dibandingkan dengan bahasa pemrograman karena lebih mudah untuk di-debug dan dimodifikasi. Dalam pembahasan kali ini kita akan menggunakan Perl sebagai bahasa script-nya.

Pendahuluan


Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu



Pendahuluan



Saat ini internet sudah merupakan kebutuhan pokok bagi sebagian orang. Dengan internet kita bisa mendapatkan banyak informasi, apa pun jenisnya. Mulai dari berita, hasil pertandingan sepak bola, cuaca dan lain-lain. Seiring dengan perkembangan, internet tidak saja digunakan sebagai media penyaji informasi semata. Bahkan internet mulai digunakan untuk aplikasi yang banyak membutuhkan masukan dari user. Dan yang sedang berkembang di Indonesia sekarang ini adalah e-commerce, perdagangan lewat internet.


Nah, dengan aplikasi internet yang semakin komplek tersebut, maka untuk membuat situs yang interaktif/dinamis tidak cukup hanya mengandalkan HTML saja. Mesti didukung dengan bahasa pemrograman lain yang lebih "kuat". Dalam hal ini kita dapat membedakan menjadi dua jenis pemrograman, yaitu server side dan client side.

Pada server side, proses akan dilakukan di web server, sedangkan client (dalam hal ini browser) hanya akan menerima hasilnya. Contohnya adalah bahasa Perl, Active Server Page (ASP), Java Server Pages (JSP), dll.

Pada client side, proses akan dilakukan di web browser. Penggunaan server side atau client side tergantung dari aplikasi yang akan kita buat. Keduanya bukanlah saling bersaing, tapi melengkapi antara satu dengan yang lainnya.

Halaman Web Dinamis




Halaman web dinamis merupakan halaman web yang mampu menampilkan informasi secara berubah-ubah, tergantung dari input yang diberikan. Contohnya bila menggunakan search engine, maka halaman yang ditampilkan akan selalu berbeda tergantung dari keyword yang kita masukkan. Di sinilah bentuk dari interaksi antara user (browser) dengan server.


Perbedaan dengan situs statis adalah, pada situs web yang statis kita hanya dapat meminta server untuk menampilkan halaman tertentu dan kemudian server mengirim informasi tersebut kepada kita melalui browser.

Tutorial Perl

Tutorial Perl

  1. Pendahuluan
  2. Pengertian CGI
  3. Syarat untuk menulis CGI
  4. Contoh script Perl sederhana
  5. Mengenal variable lingkungan
  6. Mengirim email lewat form
  7. Membuat script Tell a Friend
  8. Membuat buku tamu

Subscribe via email

Enter your email address:

Delivered by FeedBurner

Related Posts Plugin for WordPress, Blogger...
web metrics