ziyaretçi defteri
Ziyaretci defteri hazirlanmasi suresince olusturacaklarimiz: 1- database'imize ziyaretci_defteri isimli bir tablo olusturacagiz. 2- Gelen ziyaretciye bir arayuz hazirlayip bilgilerini ve goruslerini yazmasini saglayacagiz. (yaz.php dosyasi olusturulacak) 3- Gonderilen bilgileri database'imize ekleyecegiz. (gonder.php dosyasi olusturulacak) 4- Gonderilmis olan bilgilerin database'imizden okunmasini saglamak icin bir arayuz hazirlayacagiz. (oku.php dosyasi olusturulacak) 1- Oncelikle database'imizde "ziyaretci_defteri" isimli 6 field'li bir tablo olusturalim ve "numara" isimli tabloya otomatik numaralama, unique ve primary key ozelliklerini verelim. Tabloyu olusturmak icin asagidaki kodlari kullanabilirsiniz. CREATE TABLE ziyaretci_defteri ( numara smallint(6) NOT NULL auto_increment, isim text NOT NULL, email text NOT NULL, ulke text NOT NULL, gorus longtext NOT NULL, tarih datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (numara), UNIQUE KEY numara (numara) ) TYPE=MyISAM; 2- Tablomuz olsutu, simdi gelen ziyaretcimizin bu tablomuzu guzel bir arayuzle doldurmasini saglayalim. Tablodanda anlasilacagi gibi, Isim, email, ulke ve gorusler soruluyor. Bu sistemi html olarakta hazirlayabilirsiniz. Ama "imput name"leri tablomuzda verdigimiz isimlerle uyusmalidir. Asagida "yaz.php" isimiyle kaydetmeniz gereken kodlar bulunmaktadir.Defteri Oku"); ?> (Yukaridaki kodu yapistirdigimiz dosyaya "gonder.php" ismini verelim) Yukaridaki kodda php dosyasini ilk olarak database'imize bagladik, bunun icin "$db = mysql_connect();" kodunu kullandik. Sonra kendimize bir onaylayici hazirladik. Eger gonderen kisim "Isminiz" bolumunu yanlislikla bos birakmissa sistem onu uyaracak ve bu bilgiyi doldurmasini isteyecek. Bunun icin su kod bolumlerini kullandik; $continu=1; if ($isim == "") { print("Lutfen Isim bolumunu tam olarak doldurunuz!
"); $continu=0; } Ardindan verilen bilgilerin ana tablomuzda yerli yerine oturmasini sagladik ve adreslerini tam olarak belirledik. $sql="INSERT INTO ziyaretci_defteri (isim, email, ulke, gorus, tarih) VALUES ('$isim', '$email', '$ulke', '$gorus', NOW())"; Dikkatinizi cekecegi gibi yine burada, form sayfasinda her bolume verdigimiz isimleri kullandik. (orn. "isim, email, ulke, gorus") ve yukaridaki kodun "VALUES" bolumune onlarin birer birer yerlesmesi icin adres verdik. Yukaridaki kodda dikkatinizi cekecek bir adet fazla bolum bulunmakta, buda "tarih". Ana tablomuza tarihi eklemis ama simdiye kadar kullanmamistik. Simid onuda kullaniyoruz. Ve bu taihin "VALUE" bolumundeki karsiligi olarakda "NOV()" yani "simdi" yi kullandik, cunku oraya yazilan tarih o bilgilerin yazildigi tarihle ayni olmasini istedik. Database yazim kodlarimizin altindada goruldugu gibi; print("Gorusleriniz Icin Tesekkurler !") ; //gonderilme islemi tamamlandiginda cikacak yazi Eger yazim islemi basarili olursa, sayfamizda gorulmesi gereken onay yazisida orada bulunmakta. En sondan 5. siradaki "print("back");" kodunu kullanmaizdaki amac ise eger yazim sirasinda bir hata cikar yada yukaridaki hazirlamis oldumuz "isim onaylayicis" devreye girerse, ziyaretcinin kolayca geri donmesini saglayabilmek. 4- Eveet, gonderilen butun bilgi suanda dogru olarak database'imize ulasiyor ama bunu bide diger ziyaretcilerimizin gormesini saglamamiz gerekli. Bunun icinde asagidaki kodu kullanalim.
Isim | Ulke | Gorusler | Tarih | $ligne->isim | "; print "$ligne->email | "; print "$ligne->ulke | "; print "$ligne->gorus | "; print "$ligne->tarih | "; print ""; } mysql_free_result ($res); ?>
Deftere Yaz"); ?> (Yukaridaki kodu yapistirdigimiz dosyaya "oku.php" ismini verelim) Yukaridaki dosyada oncelikle kendimize bir tablo hazirladik, ve tablomuza basliklarini verdik. (orn. Isimi, Emil, Gorus vs.) Ve sonra yine database'imize baglanti sagladik. ( $db = mysql_connect();) Ve sonra suandaki sayfamizda gorunmesini istedigimiz yazilarin, hangi tablodan alinmasi gerektigini ve hangi siralamaya girmesi gerektigini yazdik. ($sql="SELECT * FROM ziyaretci_defteri ORDER BY numara";). Ve daha sonra database'de bulunan yazilarin sayfaya gecmesini saglamak icin baglanti kodunu yazdik. (while ($ligne = mysql_fetch_object ($res)) ) Simdi tablo bolumlerini "print "