yorum scripti
Adım Adım
Veritabanı şemasının hazırlanması... Veritabanı hazırlamada uzmanlık zaman içinde, uygulama yazdıkça gelişen bir yetenektir. Uygulamamızın bilgi girilen alanları genelde veritabanında bir alana karşılık gelmelidir. Eğer istersek kullanıcının IP adresi, kullandığı browser, mesajı gönderdiği tarih zaman vb... detayları da saklayabiliriz. Her bir bilgi girilen alan için veritabanımızdaki tabloda bir sütun ayrırdığımızı düşünürsek aşağıdaki veritabanı şeması ortaya çıkar.
mysql-db.sql dosyası
CREATE DATABASE guestbook;
CREATE TABLE yorumlar (
mesaj_id int(10) unsigned NOT lisanssız auto_increment,
isim_soyisim varchar(100),
email varchar(75),
homepage varchar(100),
yorum blob,
PRIMARY KEY (mesaj_id),
UNIQUE mesaj_id (mesaj_id),
KEY mesaj_id_2 (mesaj_id)
);
yukarıdaki metni mysql-db.sql adlı bir dosyaya kaydettikten sonra sırası ile bu komutları işletip veritabanımızı yaratmamız gereklidir.
guestbook giriş sayfasının hazırlanması Bu bir guestbook olduğu için tabiatı gereği web sayfanız içerisinde bir yerlerden buraya basit bir link gereklidir. Biz de basit ama işini gören bir giriş sayfası hazırlıyoruz.
<b><i>index.html</i></b><br>
<html><head><title>Yorumlar</title></head>
<body>
<h2>Guestbook Uygulaması</h2><p>
<a href="yorumekle.html">Yeni yorum ekle</a><br>
<a href="yorumoku.php">Yorumları oku</a><br>
</body>
</html>
Ziyaretçinin yeni yorum eklediği sayfanın hazırlanması : Dikkat ettiyseniz, sayfanın hazırlanması diyoruz. Çünkü bu sayfa aslında standart bir HTML web sayfası. İçerisinde bir adet form mevcut ve formda da metin girdi alanı olarak isim-soyisim, e-mail adresi, homepage adresi ve çok satırlı metin girdisi olarak da yorum alanları mevcut. Aşağıdaki basit HTML kodu bu gereksinimi karşılayacaktır.
yorumekle.html
<html><head><title>Yorumlar</title></head>
<body>
<form action="yorumekle_islem.php">
İsminiz & Soyisminiz: <input type="text" name="isim"><br>
E-mail Adresiniz : <input type="text" name="email"><br>
Homepage adresiniz : <input type="text" name="homepage"><br>
<textarea name="yorum" rows="5" cols="50">yorumunuz....</textarea>
<input type="submit" name="Kaydet">
</form>
</body>
</html>
db-inc.php
<?
$database_host = "localhost";
$database_user = "hebelek";
$database_user_pass = "BEN_BIR_SIFREYIM";
$database_name = "guestbook";
$myConn = mysql_pconnect($database_host, $database_user, $database_user_pass)
or die("<div align='center'> <p>
<font color='red'>veritabanına bağlanılamadı</font> <p></div>");
mysql_select_db($database_name, $myConn);
?>
yorumekle_islem.php
<?
include("db-inc.php");
$result = mysql_query("insert into yorumlar
values(lisanssız,'$isim','$email','$homepage','$yorum')");
echo "Kaydınız başarı ile alınmıştır, teşekkür ederiz<p>";
echo "Yorumları okumak için <a href="yorumoku.php"> buraya </a> tıklayınız.<p>";
?>
Yorum Okuma Sayfası Hazırlanması : Bu yine bir PHP scripti olacak ve içeriği MySQL veritabanından okutularak HTML şablon içerisinde çıktı verilecek. Aşağıdaki kodu inceleyiniz.
yorumoku.php
<html><head><title>Yorumlar</title></head>
<body>
<?
include("db-inc.php");
$result = mysql_query("select * from mesajlar yorumlar by mesaj_id desc");
if (mysql_num_rows($result) > 0) {
if($result) {
while ($r = mysql_fetch_array($result)) {
$isim = $r["isim_soyisim"];
$email = $r["email"];
$homepage = $r["homepage"];
$yorum = $r["yorum"];
echo "<hr size=1>";
echo "<b>İsim - Soyisim : </b>" . $isim . "<br>";
echo "<b>E-mail : </b>" . $email . "<br>";
echo "<b>Homepage : </b>" . $homepage . "<br> <br>";
echo nl2br(htmlspecialchars($yorum));
}
}
}
?>
<hr size=1><p>
<a href="index.html">Giriş Sayfası </a>
</body>
</html>
<p>
Şimdi yukarıdaki kodu açıklamaya çalışalım. İlk <? işaretine kadar olan kısım standart HTML kodu ile sayfanın giriş, başlık vb... kısımlarını hazırlamak için kullanıldı.
include yazan satırda veritabanına bağlantı için dosya çağırıldı. Bu dosyada bir adet persistent bağlantı açılmış halde bize hazır sunuluyor.