Anda di halaman 1dari 6

Web Programming II – File Teks dan Form

File Teks dan Form

Daftar Topik
1. Memahami cara pemrograman file teks dengan PHP
2. Memahami konsep form dan hubungannya dengan PHP

File Teks
Berikut ini beberapa fungsi PHP yang penting diketahui untuk bekerja dengan file teks.

Membuka file teks


$fid = fopen(nama_file, mode);
Ket :
• nama_file : variable atau string yang berisi nama file teks yang akan dibuka. Jika lokasi folder
tidak disertakan, maka file akan dicari pada lokasi folder tempat skrip PHP yang memanggilnya
berada
• mode : modus pembukaan file :
o “r” : readonly
o “r+” : read/write
o “w” : overwrite (jika file belum ada, file akan dibuat, jika sudah ada isi file dihapus)
o “w+” : read/overwrite
o “a” : append (data baru akan direkam diakhir file)
o “a+” : mirip seperti “a”, jika file belum ada, file akan dibuat

Merekam data ke dalam file teks


fputs(fid, data);
Ket :
• fid : variable identifier file (didapatkan ketika membuka file dengan fopen)
• data : variabel atau sembarang data yang akan direkam
Note : file jangan dibuka dengan mode “r”

Membaca data dari dalam file teks


var = fgets(fid, panjang);
Ket :
• var : variabel bertipe string yang akan menampung data hasil pembacaan
• panjang : jumlah karakter yang akan dibaca
Note : file harus dibuka dengan mode “r” atau “r+” atau “w+”

Mendeteksi akhir file


Gunakan fungsi feof(fid); yang akan menghasilkan TRUE jika posisi pembacaan sudah diakhir file dan
sebaliknya

Menutup file
Gunakan fungsi fclose(fid);

Implementasi fungsi-fungsi diatas dapat dilihat pada pembahasan berikut ini.

Form
Adalah salah satu fasilitas pada HTML yang memungkinkan client mengirimkan data melalui HTML.
Bentuk tag form sbb:
<form name=nama_form method=metode action=aksi>
….
</form>
Ket :
• nama_form : nama form (tidak harus diisi)
• metode : POST atau GET (dijelaskan dibawah)
• aksi : nama file skrip PHP yang akan memproses data pada form

Sebagai contoh untuk membuat form yang meminta input dari user dua buah nilai dan memeriksa nilai
terbesar dan menampilkan outputnya:

1
Web Programming II – File Teks dan Form

File : terbesar.htm
<html>
<body>
<h2>Input dua buah angka :</h2>
<form method=post action=terbesar.php>
Bilangan pertama :<input type=text size=3 name=bil1>
<BR>
Bilangan kedua :<input type=text size=3 name=bil2>
<BR>
<input type=submit name=submit value='Cek'>
<input type=reset>
</form>
</body>
</html>

File : terbesar.php
<?
if ($submit)
{
if ($bil1 > $bil2) echo "$bil1 lebih besar dari $bil2";
elseif ($bil1 < $bil2) echo "$bil1 lebih kecil dari $bil2";
else echo "$bil1 sama dengan $bil2";
}
?>

Pada file terbesar.htm yang penting untuk diperhatikan sbb:


<form method=post action=terbesar.php>
• method=post : metode yang digunakan adalah POST artinya data form yang dikirim ke server
tidak akan tampil pada URL (address yg diketik di browser). Jika menggunakan GET maka data
akan terlihat pada URL
• action = terbesar.php : data form akan diserahkan ke skrip terbesar.php

<input type=text size=3 name=bil1>


Membuat text box untuk input bilangan pertama. Text box diberi nama bil1. Dengan demikian data
yang diinput akan tersimpan pada variable bil1

<input type=text size=3 name=bil2>


Membuat text box untuk input bilangan kedua. Text box diberi nama bil1. Dengan demikian data yang
diinput akan tersimpan pada variable bil2
<input type=submit name=submit value='Cek Terbesar'>
Membuat tombol submit yang jika diklik akan memerintahkan browser untuk menyerahkan data form
ke skrip terbesar.php

Jika text box pertama diisi dengan angka 3 dan text box kedua diisi dengan angka 1 dan tombol submit
ditekan,maka browser akan membuat URL sbb :

http://localhost/terbesar.php?bil1=2&bil2=1&submit=Cek

Maka skrip terbesar.php akan menerima query string diatas sehingga tercipta 3 buah variable yaitu “
• $bil1 berisi angka 2
• $bil2 berisi angka 1
• $submit berisi string Cek

Sekarang perhatikan bagian skrip terbesar.php :


if ($submit)
perintah ini akan menghasilkan TRUE karena $submit berisi string Cek
if ($bil1 > $bil2) echo "$bil1 lebih besar dari $bil2";
elseif ($bil1 < $bil2) echo "$bil1 lebih kecil dari $bil2";
else echo "$bil1 sama dengan $bil2";
Karena $bil1 lebih besar dari $bil2 maka perintah echo pertama yang akan diproses, sehingga pada
browser akan tampil :

2
Web Programming II – File Teks dan Form

Sekarang perhatikan file terbesar.htm, jika deklarasi method :


<form method=post action=terbesar.php>
diganti menjadi
<form method=get action=terbesar.php>

Maka data form akan ditampilkan pada URL

Menggabungkan Form dan PHP dalam satu file PHP


Dua buah file pada contoh sebelumnya, yaitu file terbesar.htm dan file terbesar.php bisa digabung
menjadi satu buah file PHP berikut ini:

File : cekterbesar.php
<html>
<body>
<h2>Input dua buah angka :</h2>
<form method=get action=terbesar.php>
Bilangan pertama :<input type=text size=3 name=bil1>
<BR>
Bilangan kedua :<input type=text size=3 name=bil2>
<BR>
<input type=submit name=submit value='Cek'>
<input type=reset>
</form>
</body>
</html>
<?
if ($submit)
{
if ($bil1 > $bil2) echo "$bil1 lebih besar dari $bil2";
elseif ($bil1 < $bil2) echo "$bil1 lebih kecil dari $bil2";
else echo "$bil1 sama dengan $bil2";
}
?>

Pada kasus ini, skrip PHP bisa diletakkan pada awal maupun akhir skrip.

Aplikasi Buku Tamu dengan file teks


Pada bab ini akan dibuat sebuah contoh aplikasi penggunaan form dan file teks dengan nama Buku
Tamu. Pada implementasi sebenarnya data tidak disimpan ke file teks tetapi ke table database.

Skrip dan tampilan yang dibuat sbb :

3
Web Programming II – File Teks dan Form

• guestbook.php : untuk input data buku tamu

• view_gbook.php : untuk menampilkan data buku tamu

File : guestbook.php
<?
if ($submit)
{
$fname = "gbook.txt";
if (file_exists($fname))
$fid = fopen($fname,"a");
else $fid = fopen($fname,"w");

$data = "$nama;$email;$komentar\n";
fputs($fid,$data);
fclose($fid);

echo "Terimakasih atas partisipasi Anda.";


die;
}
?>
<HTML>
<BODY>
<H1>GUESTBOOK</H1>
<FORM METHOD=POST ACTION="guestbook.php">
<TABLE BORDER=1>
<TR>
<TD>Nama Anda</TD>
<TD><INPUT TYPE=TEXT SIZE=10 NAME=nama></TD>
</TR>
<TR>
<TD>Email</TD>
<TD><INPUT TYPE=TEXT SIZE=10 NAME=email></TD>
</TR>
<TR>
<TD>Komentar Anda</TD>
<TD><INPUT TYPE=TEXT SIZE=20 NAME=komentar></TD>
</TR>
</TABLE>
<INPUT TYPE=SUBMIT NAME=submit VALUE="Kirim">
<INPUT TYPE=RESET>
</FORM>

4
Web Programming II – File Teks dan Form

</BODY>
</HTML>

File : view_gbook.php
<?
$fname = "gbook.txt";
if (!file_exists($fname))
echo "File $fname tidak ditemukan";
else
{
echo "<h1>GUESTBOOK LIST</h1>";
echo "<table border=1>";
echo "<tr>
<td align=center><b>No.</b></td>
<td align=center><b>Nama</b></td>
<td align=center><b>Email</b></td>
<td align=center><b>Komentar</b></td>
</tr>";

$no = 0;
$fid = fopen($fname,"r");
while (!feof($fid))
{
$no++;
$data = fgets($fid,255);
if ($data != "")
{
$arr = explode(";",$data);
$nama = $arr[0];
$email = $arr[1];
$komentar = $arr[2];

echo "<tr>
<td align=center>$no</td>
<td>$nama</td>
<td><a href='mailto:$email'>$email</a></td>
<td>$komentar</td>";
}
}
fclose($fid);

echo "</table>";
}
?>

5
Web Programming II – File Teks dan Form

Soal
1. Buat tampilan berikut :

Jika Nilai Angka diisi 80 dan SKS diisi 3 dan diklik Hitung akan tampil sbb:

Buat dalam 2 versi :


o HTML dan skrip PHP terpisah
o HTML dan skrip PHP digabungkan
Lihat contoh soal terdahulu untuk konversi nilai angka ke nilai huruf dan mencari kualitas
nilainya. Bobot Nilai = SKS x Kualitas Nilai

2. Buat aplikasi Konversi Mata Uang dengan tampilan sbb:

Jika diisi Nilai Rupiah = 10500 dan diklik Konversi maka tampilan menjadi :

Jika link Konversi Lagi diklik maka tampilan kembali ke tampilan pertama.

Ketentuan :
Buat sebuah file dengan nama rate.txt yang berisi rate konversi rupiah ke dolar. Misalkan $1 =
Rp.10500 maka isi file tsb adalah angka 10500. Isi file ini dibaca oleh skrip PHP dan digunakan
untuk mengkonversi rupiah ke dollar

Anda mungkin juga menyukai