Mengedit
Database
Anda akan kembali menggunakan database
situsfilm dari bab-bab sebelumnya. Pertama-tama, Anda akan mulai menciptakan
halaman administratif yang mencantumkan semua film dan orang dalam database
Anda dan menyediakan link-link agar Anda bisa mengelolanya. Kemudian Anda akan
menciptakan halaman-halaman pembantu sehingga Anda bisa menambahkan dan
menghapus rekaman-rekaman film.
Halaman Administratif
Pertama, Anda memerlukan sebuah halaman
pembuka. Ikuti langkah-langkah berikut:
Contoh
|
Menciptakan
halaman administratif
|
1.
Ciptakanlah
sebuah file dengan nama admin.php,
dan masukkan kode berikut:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost', 'rismon', 'Dolokulu77')
or
die ('Tidak bisa
terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
?>
<html>
<head>
<title>
Database Film </title>
<style
type="text/css">
th {
background-color: #999;}
.baris_ganjil
{ background-color: #EEE; }
.baris_genap
{ background-color: #FFF; }
</style>
</head>
<body>
<table
style="width:100%;">
<tr>
<th
colspan="2"> Daftar Film <a
href="film.php?aksi=tambah"> [TAMBAH] </a></th>
</tr>
<?php
$query = 'SELECT * FROM film';
$hasil = mysql_query($query, $db) or die
(mysql_error($db));
$ganjil = true;
while ($baris = mysql_fetch_assoc($hasil)) {
echo ($ganjil == true) ? '<tr
class="baris_ganjil"> ' : ' <tr class="baris_genap"> ';
$ganjil =
!$ganjil;
echo ' <td
style="width:75%;"> ';
echo
$baris['nama_film'];
echo '
</td><td> ';
echo ' <a href="film.php?aksi=edit & id=' .
$baris['id_film'] . '"> [EDIT] </a> ';
echo ' <a href="hapus.php?tipe=film & id=' .
$baris['id_film'] . '"> [HAPUS] </a> ';
echo '
</td></tr> ';
}
?>
<tr>
<th
colspan="2"> Orang <a href="orang.php?aksi=tambah"
> [TAMBAH] </a></th>
</tr>
<?php
$query = 'SELECT * FROM orang';
$hasil = mysql_query($query, $db) or die
(mysql_error($db));
$ganjil = true;
while ($baris = mysql_fetch_assoc($hasil)) {
echo ($ganjil == true) ? ' <tr class="baris_ganjil">
' : ' <tr class="baris_genap"> ';
$ganjil =
!$ganjil;
echo ' <td
style="width: 25%;"> ';
echo
$baris['namapenuh_orang'];
echo '
</td><td> ';
echo ' <a href="orang.php?aksi=edit & id=' .
$baris['id_orang'] . '"> [EDIT] </a> ';
echo ' <a
href="hapus.php?tipe=orang & id=' . $baris['id_orang'] . '">
[HAPUS] </a> ';
echo '
</td></tr> ';
}
?>
</table>
</body>
</html>
2.
Sekarang
buka file tersebut pada browser Anda. Anda akan melihat halaman seperti
ditunjukkan pada gambar berikut:
Menyisipkan
Rekaman ke Database Relasional
Database seringkali memuat lebih dari satu
tabel. Semua tabel tersebut bisa saja independen satu sama lain, tetapi hal itu
sama saja seperti menggunakan mobil Anda untuk menyimpan barang-barang yang
seharusnya diletakkan di rumah. Biasanya tabel-tabel dalam database berelasi
satu sama lain dengan cara tertentu.
Pada sistem lama dimana database relasional
belum ada, setiap baris memuat semua informasi sebanyak mungkin. Bayangkan
sistem Anda hanya memuat satu tabel yang menampung semua informasi untuk
aplikasi Anda. Tabel film Anda, misalnya, akan menyimpan semua data tentang
aktor, sutradara, dan tipe film. Setiap rekaman harus menetapkan semua
informasi ini. Sekarang dimisalkan bahwa suatu Anda perlu memutuskan untuk
mengganti kategori dari “aksi” menjadi “petualangan”. Anda harus menjelajah
semua rekaman dalam tabel untuk mengubah label tipe film. Kemungkinan Anda
salah melakukannya sangat besar.
Hal ini tidak menjadi masalah dalam sistem
manajemen database relasional (RDBMS, relational
database management systems); Anda dapat menciptakan sebuah tabel tipefilm
yang menyimpan sebuah referensi dari semua tipe film, dan kemudian
menghubungkan film-film yang relevan dengan tipe film. Untuk menghubungkan
tabel yang berbeda, Anda menggunakan sebuah sepasang primary key/foreign key.
Primary key merupakan sebuah nilai atau
sekelompok nilai yang dapat dipakai untuk secara unik mengidentifikasi setiap
rekaman dalam sebuah tabel. Primary key pada tabel tipefilm adalah id dari tiap
tipe film yang disimpan dalam bidang id_tipefilm. Foreign key merupakan sebuah
nilai pada tabel lain yang dapat dipakai untuk mereferensi balik ke primary
key.
Pada kasus berikut, Anda akan menggunakan PHP
dan SQL untuk menyisipkan sebuah film dalam database Anda.
Contoh
|
Menyisipkan
sebuah film
|
1.
Ciptakanlah
sebuah file kosong dengan editor teks Anda, dan masukkan kode berikut. Simpan
file tersebut dengan nama film.php.
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
?>
<html>
<head>
<title> Menambah Film </title>
</head>
<body>
<form
action="komit.php?aksi=tambah&tipe=film"
method="post">
<table>
<tr>
<td> Nama Film </td>
<td><input
type="text" name="nama_film"/></td>
</tr><tr>
<td> Tipe Film </td>
<td><select
name="tipe_film">
<?php
// memilih informasi tipe film
$query = 'SELECT
id_tipefilm, label_tipefilm
FROM
tipefilm
ORDER BY
label_tipefilm';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris =
mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
echo ' <option value="' .
$baris['id_tipefilm'] . '"> ';
echo $baris['label_tipefilm'] . '
</option> ';
}
}
?>
</select></td>
</tr><tr>
<td> Tahun Film </td>
<td><select
name="tahun_film">
<?php
// mengisi dengan tahun
for ($thn = date("Y");
$thn >= 1970; $thn--) {
echo ' <option value="' . $thn .
'" > ' . $thn . ' </option> ';
}
?>
</select></td>
</tr><tr>
<td> Aktor Film </td>
<td><select
name="aktor_film" >
<?php
// memilih rekaman-rekaman aktor
$query = 'SELECT
id_orang, namapenuh_orang
FROM
orang
WHERE
aktor_orang = 1
ORDER BY
namapenuh_orang';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris =
mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
echo ' <option value="' .
$baris['id_orang'] . '"> ';
echo $baris['namapenuh_orang'] . ' </option>
';
}
}
?>
</select></td>
</tr><tr>
<td> Sutradara </td>
<td><select
name="sutradara_film">
<?php
// memilih rekaman-rekaman
sutradara
$query = 'SELECT
id_orang, namapenuh_orang
FROM
orang
WHERE
sutradara_orang = 1
ORDER BY
namapenuh_orang';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris =
mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
echo ' <option value="' .
$baris['id_orang'] . '"> ';
echo $baris['namapenuh_orang'] . '
</option> ';
}
}
?>
</select></td>
</tr><tr>
<td colspan="2"
style="text-align: center;">
<input type="submit"
name="submit" value="Tambah" />
</td>
</tr>
</table>
</form>
</body>
</html>
2.
Ciptakanlah
sebuah file kosong dengan nama komit.php,
dan masukkan kode berikut:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost', 'rismon',
'Dolokulu77') or
die
('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang baru dibuat
menjadi
//database yang aktif
mysql_select_db('situsfilm', $db) or
die(mysql_error($db));
?>
<html>
<head>
<title> Komit </title>
</head>
<body>
<?php
switch ($_GET['aksi']) {
case 'tambah':
switch ($_GET['tipe']) {
case 'film':
$query = 'INSERT INTO
film
(nama_film, tahun_film,
tipe_film, aktor_film,
sutradara_film)
VALUES
("' . $_POST['nama_film']
. '",
' . $_POST['tahun_film'] . ',
' . $_POST['tipe_film'] . ',
' . $_POST['aktor_film'] . ',
' . $_POST['sutradara_film'] .
')';
break;
}
break;
}
if (isset($query)) {
$hasil = mysql_query($query, $db) or die(mysql_error($db));
}
?>
<p> Selesai! </p>
</body>
</html>
3.
Buka
halaman admin.php dengan browser
Anda, dan klik link TAMBAH pada kepala tabel film. Anda akan melihat form
seperti berikut:
4.
Klik
tombol Tambah, dan Anda akan melihat pesan konfirmasi seperti ditampilkan
berikut:
Menghapus Rekaman
Penghapusan rekaman merupakan hal mudah.
Penghapusan berarti menghilangkan data, jadi Anda perlu hati-hati melakukannya.
Untuk menghapus sebuah rekaman, Anda perlu menentukan rekaman yang akan dihapus
melalui kondisi-kondisi dalam statemen WHERE. Setelah statemen ini dieksekusi,
tidak ada titik balik. Rekaman dihapus tanpa bisa dikembalikan kembali. Oleh
karena itu, penulis menganjurkan kehati-hatian ketika menggunakan statemen
DELETE. MySQL menghapus semua hasil yang cocok dengan query, dan melupakan satu
hal kecil dalam klausa WHERE akan menyebabkan konsekuensi yang serius.
Karena penghapusan rekaman tidak ada titik
balik, Anda sebaiknya memastikan bahwa klausa WHERE memilih rekaman yang tepat.
Kemudian setelah itu, Anda dapat menggunakan statemen DELETE.
Contoh
|
Menghapus
rekaman
|
1.
Ciptakanlah
sebuah file teks baru dengan nama hapus.php,
dan masukkan kode berikut:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
if (!isset($_GET['do']) ||
$_GET['do'] != 1) {
switch ($_GET['tipe']) {
case 'film':
echo 'Apakah Anda yakin akan menghapus
film ini? <br/>';
break;
case 'orang':
echo 'Apakah Anda yakin akan menghapus
orang ini? <br/>';
break;
}
echo ' <a href="' . $_SERVER['REQUEST_URI']
. '&do=1"> ya </a>';
echo 'or <a
href="admin.php"> tidak </a>';
} else {
switch ($_GET['tipe']) {
case 'orang':
$query = 'UPDATE film SET
aktor_film = 0
WHERE
aktor_film = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
$query = 'DELETE FROM orang
WHERE
id_orang = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
?>
<p style="text-align:
center;"> Orang tersebut telah dihapus.
<a
href="indeks_film.php"> Kembali ke Indeks </a></p>
<?php
break;
case 'film':
$query = 'DELETE FROM film
WHERE
id_film = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
?>
<p style="text-align:
center;"> Film Anda sudah dihapus.
<a
href="indeks_film.php"> Kembali ke Indeks </a></p>
<?php
break;
}
}
?>
2.
Buka
halaman admin.php pada browser Anda kembali, dan klik link HAPUS pada film atau
orang, sehingga ditampilkan:
3.
Klik
“ya” untuk mengonfirmasi penghapusan, dan tunggu pesan konfirmasi, seperti
ditampilkan berikut:
Pertama-tama, Anda perlu
memahami bahwa dalam database relasional Anda tidak dapat menghapus rekaman dan
membiarkannya begitu saja. Penghapusan data harus dilakukan dengan hati-hati.
Sebagai contoh, jika Anda menghapus satu orang dari tabel orang, ini akan
membuyarkan referensi potensial ke orang tersebut dalam tabel film. Jika Anda
menghapus Jim Carrey dari tabel orang, siapa yang akan menjadi aktor dalam film
Bruce Almighty? Jika Anda tidak membereskannya, id Jim Carrey akan tetap ada
dalam rekaman, dan Anda akan memiliki database yang tidak tertata.
Solusi terhadap
permasalahan ini adalah memastikan bahwa Anda selalui memiliki foreign key pada
sebuah rekaman. Skript berjalan dalam dua mode, dengan bantuan statemen if.
Pertama, ketika dipanggil dengan link dari admin.php, maka string query
merupakan tipe rekaman (baik film atau orang) dan id rekaman. Parameter do
tidak digunakan. Ini akan memicu blok kode pertama pada konstruksi if
dieksekusi oleh PHP:
switch ($_GET['tipe']) {
case 'film':
echo 'Apakah
Anda yakin akan menghapus film ini? <br/>';
break;
case 'orang':
echo 'Apakah
Anda yakin akan menghapus orang ini? <br/>';
break;
}
echo ' <a href="' . $_SERVER['REQUEST_URI'] .
'&do=1"> ya </a>';
echo 'or <a
href="admin.php"> tidak </a>';
Statemen switch dipakai untuk menampilkan
prompt yang tepat, tergantung dari tipe yang disubmit, dan kemudian link-link
dihasilkan untuk memastikan proses penghapusan atau untuk membatalkannya. Link
untuk memastikan proses penghapusan mengarahkan Anda untuk kembali ke halaman
sekarang dengan parameter-parameter URL yang sama.
Pada kedua kalinya skript dipanggil,
parameter do ditetapkan, jadi blok berikutnya pada struktur if dieksekusi, dan
sekali lagi statemen swicth dipakai, tergantung dari tipe rekaman yang akan
dihapus.
Karena Anda ingin mempertahankan integritas
database, tabel film harus diperbarui terlebih dahulu, sebelum penghapusan
suatu rekaman dari tabel orang dilakukan:
$query = 'UPDATE film SET
aktor_film
= 0
WHERE
aktor_film
= ' . $_GET['id'];
$hasil = mysql_query($query, $db) or die(mysql_error($db));
$query = 'DELETE FROM orang
WHERE
id_orang = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
Mengedit Data pada Rekaman
Untuk memperbarui data, Anda perlu
mengidentifikasi data yang akan diperbarui.
Contoh
|
Mengedit
data
|
1.
Buka
kembali file film.php pada editor teks Anda dan modifikasilah kode sebagai
berikut:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
if ($_GET['aksi'] == 'edit') {
//membaca informasi rekaman
$query = 'SELECT
nama_film, tipe_film, tahun_film,
aktor_film, sutradara_film
FROM
film
WHERE
id_film = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
extract(mysql_fetch_assoc($hasil));
} else {
//menetapkan nilai-nilai menjadi kosong
$nama_film = '';
$tipe_film = 0;
$tahun_film = date('Y');
$aktor_film = 0;
$sutradara_film = 0;
}
?>
<html>
<head>
<title><?php echo
ucfirst($_GET['aksi']); ?> Film </title>
</head>
<body>
<form
action="komit.php?aksi=<?php echo $_GET['aksi']; ?>&tipe=film"
method="post">
<table>
<tr>
<td> Nama Film </td>
<td><input type="text" name="nama_film"
value="<?php echo $nama_film;?> "/></td>
</tr><tr>
<td> Tipe Film </td>
<td><select
name="tipe_film">
<?php
// memilih informasi tipe film
$query = 'SELECT
id_tipefilm, label_tipefilm
FROM
tipefilm
ORDER BY
label_tipefilm';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris =
mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
if ($baris['id_tipefilm'] ==
$tipe_film) {
echo '<option value="' . $baris['id_tipefilm'] . '"
selected="selected">';
} else {
echo '<option value="' .
$baris['id_tipefilm'] . '">';
}
echo $baris['id_tipefilm'] . '
</option> ';
}
}
?>
</select></td>
</tr><tr>
<td> Tahun Film </td>
<td><select
name="tahun_film">
<?php
// mengisi dengan tahun
for ($thn = date("Y");
$thn >= 1970; $thn--) {
if ($thn == $tahun_film) {
echo '<option value="' . $thn . '"
selected="selected">' . $thn . '</option>';
} else {
echo '<option value="' . $thn .
'"> ' . $thn . '</option> ';
}
}
?>
</select></td>
</tr><tr>
<td> Aktor Film </td>
<td><select
name="aktor_film" >
<?php
// memilih rekaman-rekaman aktor
$query = 'SELECT
id_orang, namapenuh_orang
FROM
orang
WHERE
aktor_orang = 1
ORDER BY
namapenuh_orang';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris =
mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
if ($baris['id_orang'] == $aktor_film)
{
echo '<option value="' . $baris['id_orang'] .
'" selected="selected">';
} else {
echo '<option value="' .
$baris['id_orang'] . '">';
}
echo $baris['namapenuh_orang'] .
'</option>';
}
}
?>
</select></td>
</tr><tr>
<td> Sutradara </td>
<td><select
name="sutradara_film">
<?php
// memilih rekaman-rekaman
sutradara
$query = 'SELECT
id_orang, namapenuh_orang
FROM
orang
WHERE
sutradara_orang = 1
ORDER BY
namapenuh_orang';
$hasil = mysql_query($query, $db)
or die(mysql_error($db));
// mengisi dengan hasil
while ($baris = mysql_fetch_assoc($hasil))
{
foreach ($baris as $value) {
if ($baris['id_orang'] ==
$sutradara_film) {
echo '<option value="' . $baris['id_orang'] . '"
selected="selected">';
} else {
echo '<option value="' .
$baris['id_orang'] . '">';
}
echo $baris['namapenuh_orang'] .
'</option>';
}
}
?>
</select></td>
</tr><tr>
<td colspan="2"
style="text-align: center;">
<?php
if ($_GET['aksi'] == 'edit') {
echo '<input type="hidden"
value="' . $_GET['id'] . '" name="id_film"/>';
}
?>
<input type="submit" name="submit"
value="<?php echo ucfirst($_GET['aksi']); ?>"/>
</td>
</tr>
</table>
</form>
</body>
</html>
2.
Bukalan
skript komit.php dan edit isinya
agar cocok dengan kode berikut:
<?php
//menghubungkan ke MySQL
$db = mysql_connect('localhost',
'rismon', 'Dolokulu77') or
die ('Tidak bisa terhubung. Periksa parameter koneksi.');
//memastikan bahwa database yang
baru dibuat menjadi
//database yang aktif
mysql_select_db('situsfilm', $db)
or die(mysql_error($db));
?>
<html>
<head>
<title> Komit </title>
</head>
<body>
<?php
switch ($_GET['aksi']) {
case 'tambah':
switch ($_GET['tipe']) {
case 'film':
$query = 'INSERT INTO
film
(nama_film, tahun_film,
tipe_film, aktor_film,
sutradara_film)
VALUES
("' . $_POST['nama_film']
. '",
' . $_POST['tahun_film'] . ',
' . $_POST['tipe_film'] . ',
' . $_POST['aktor_film'] . ',
' . $_POST['sutradara_film'] .
')';
break;
}
break;
case 'edit':
switch ($_GET['tipe']) {
case 'film':
$query = 'UPDATE film SET
nama_film = "' .
$_POST['nama_film'] . '",
tahun_film = ' .
$_POST['tahun_film'] . ',
tipe_film = ' .
$_POST['tipe_film'] . ',
aktor_film = ' . $_POST['aktor_film']
. ',
sutradara_film = ' .
$_POST['sutradara_film'] . '
WHERE
id_film = ' .
$_POST['id_film'];
break;
}
break;
}
if (isset($query)) {
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
}
?>
<p> Selesai! </p>
</body>
</html>
3.
Sekarang
buka browser Anda dan buka halaman admin.php.
4.
Klik
link EDIT untuk mengedit film Bruce Almighty, ubah beberapa kotak teks dan nama
film, dan tekan tombol EDIT, seperti ditunjukkan berikut:
5.
Amati
kembali halaman admin.php berikut:
Kode komit.php
hampir sama dengan apa yang asli, dengan pengecualian suatu cabang kode yang
baru dalam statemen switch yang menangani pembaruan rekaman dalam database
dengan nilai-nilai yang baru. Tetapi ada hal yang menarik dalam film.php, yang perlu Anda amati lebih
dekat.
Pertama, lihat pada statemen if di awal
skript. Anda mendefinisikan cabang-cabangnya pada sebuah parameter string query
dengan nama aksi. Jika aksi adalah edit, maka query dilakukan terhadap database
untuk menemukan sebuah rekaman yang berkaitan dengan id yang diberikan pada
parameter string query id dan untuk menetapkan beberapa variabel.
if
($_GET['aksi'] == 'edit') {
//membaca informasi rekaman
$query = 'SELECT
nama_film, tipe_film, tahun_film,
aktor_film, sutradara_film
FROM
film
WHERE
id_film = ' . $_GET['id'];
$hasil = mysql_query($query, $db) or
die(mysql_error($db));
extract(mysql_fetch_assoc($hasil));
} else {
//menetapkan nilai-nilai menjadi kosong
$nama_film = '';
$tipe_film = 0;
$tahun_film = date('Y');
$aktor_film = 0;
$sutradara_film = 0;
}
Variabel-variabel yang ditetapkan pada kode
tersebut dipakai untuk menetapkan nilai default bagi bidang-bidang form. Setiap
bidang memiliki nilai
Mengedit sebuah bidang teks cukup sederhana,
tetapi penetapan nilai pada sebuah list cerita lain. Anda tidak dapat hanya
menampilkan list dan berharap pengguna akan mereset nilai kembali ke awal
ketika ia mengedit rekaman. Anda perlu mereload keseluruhan list dan membuat
nilai yang telah ditetapkan sebelumnya muncul sebagai default pada list.
<td> Tipe Film </td>
<td><select
name="tipe_film">
<?php
// memilih
informasi tipe film
$query =
'SELECT
id_tipefilm, label_tipefilm
FROM
tipefilm
ORDER BY
label_tipefilm';
$hasil =
mysql_query($query, $db) or die(mysql_error($db));
// mengisi
dengan hasil
while ($baris
= mysql_fetch_assoc($hasil)) {
foreach ($baris as $value) {
if ($baris['id_tipefilm'] ==
$tipe_film) {
echo '<option value="' . $baris['id_tipefilm'] . '"
selected="selected">';
} else {
echo '<option value="' .
$baris['id_tipefilm'] . '">';
}
echo $baris['id_tipefilm'] . '
</option> ';
}
}
?>
</select></td>
No comments:
Post a Comment