Php Dersleri – Php İle Ziyaretçi Defteri Yapımı 2 (Veritabanı)

Bir önceki yazımızda php ziyaretçi defteri uygulamamıza kayıt ekleme işlemini yapmıştık şimdi kaldığımız yerden devam ediyoruz ve girilen mesajları listeleme işlemini yapacağız ilk olarak yeni bir dosya açıyoruz ve bunu mesajoku.php olarak kaydediyoruz.

Kodlar aşağıda ama ben kısaca açıklayım include(“vt_baglanti.php”); ile veri tabanı bağlantısını sağlıyoruz daha sonra deftere yazılan mesajları okumak için $sql = ” SELECT * FROM mesaj “; satırı ile sorgumuzu oluşturuyoruz. Ve $result = mysql_query( $sql ); ile sorgu sonuçlarını $result değişkeni içerisine aktarıyoruz.

Okunan mesajları göstermek için tablo yapıp sonuçları while( $row = mysql_fetch_array($result) ) döngüsü ile satır satır alıp ekranda yazdırıyoruz..

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<?php
  // vt bağlantısını kuruyoruz.
  include("vt_baglanti.php");
  
  // VT kayıt çekiyoruz. 
  $sql    = "  SELECT * FROM mesaj "; 
  $result = mysql_query( $sql );
  
  echo "<a href='yaz.php'> Mesaj Yaz </a>";
 
  echo "<table border=1>";
     echo "<tr>";    
     echo "<td><b>Adı</b></td>";
     echo "<td><b>Soyadı</b></td>";
     echo "<td><b>e-posta</b></td>";
     echo "<td><b>Başlık</b></td>";
     echo "<td><b>Mesaj</b></td>";
     echo "<td><b>Zaman</b></td>";
     echo "</tr>";    
  while( $row = mysql_fetch_array($result) ) { 
     echo "<tr>";    
     echo "<td>".$row["ad"]."</td>";
     echo "<td>".$row["soyad"]."</td>";
     echo "<td>".$row["eposta"]."</td>";
     echo "<td>".$row["baslik"]."</td>";
     echo "<td>".$row["mesaj"]."</td>";
     echo "<td>".$row["tarihzaman"]."</td>";
     echo "</tr>";    
  }  
  echo "</table>";
 ?>

Mesajlar veritabanına kaydedildi kaydettiğimiz mesajlar ekranda listelendi şimdi sıra geldi kayıtları kontrol edebilmek için yönetim panelini oluşturmaya ilk olarak yöneticinin giriş ekranını yapıyoruz yani kullanıcı adı ve şifrenin girileceği alan için bir form oluşturup formun action kısmına giris_kontrol.php yazarak gönder butonuna basıldığında girilen bilgilerin bu sayfaya yönlenmesini sağlıyoruz.

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Yönetici Giriş
</title> 
</head> 
<body> 
<form name="frm_giris" method="post" action="giris_kontrol.php"> 
<table width="298" height="193" border="1"> 
<tr> 
<td colspan="2" align="center">
<b>Yönetici Giriş</b>
</td> </tr> 
<tr> 
<td> Kullanıcı Adı: </td> 
<td><input type="text" name="f_ad" /></td> 
</tr> 
<tr> <td>Parola</td> 
<td><input type="password" name="f_parola" /></td> 
</tr> 
<tr> <td colspan="2"> <input type="submit" name="button" value="Gönder" />
</td> </tr> </table> 
</form> 
</body> 
</html>

Yönetici için hatırlarsanız önceki dersimizde INSERT INTO kullanicilar (id , kullanici_adi , parola ) VALUES ( NULL , ‘admin’, ‘123456’ ); Kullanıcı adı admin şifre 123456 olarak belirlemiştik.

Oluştuduğumuz forma bilgileri yazdık bilgiler giris_kontrol.php dosyasına gönderildi ve şimdi ne yapıyoruz vt’ye bağlanıp girilen bilgiler doğru mu değilmi kontrol etmemiz lazım eğer doğruysa yönetim sayfasına gidecek yanlışsa tekrar bilgi girişi istenecek.

Ama yönetim sayfasına şifre girilmeden yapılacak girişleri engelleyebilmek için session oluşturuyoruz.. giris_kontrol.php dosyamız aşağıdaki gibi olacak..

<?php 
session_start();?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<?php
  // vt bağlantısını kuruyoruz.
  include("vt_baglanti.php"); 
  
  // giris_kontrol.php
  $k_adi = $_POST["f_ad"];
  $parola = $_POST["f_parola"];
  
  $sql = " SELECT * FROM kullanicilar
           WHERE kullanici_adi = '$k_adi' AND 
                 parola     = '$parola'"; 
  $results = mysql_query($sql);
  $kayit_sayisi = mysql_num_rows($results);
  
  if ( $kayit_sayisi == 1 ) {
     
     $_SESSION["giris_basarili"] = TRUE;
     echo " Giriş Başarılı";
     echo "<br><a href='yonetim.php'> Yönetim Sayfası</a>";
  } else { 
     echo " Kullanıcı adı yada parola hatalı";
     echo "<a href='yonetici_giris.html'> Tekrar dene</a>";
  }
 ?>

doğru kullanıcı adı ve şifre girilince yonetim.php sayfasına geçiyor hemen o sayfanın kodlarını da yazalım

<?php
  // Yetki kontrol
  session_start();
  ?>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <?
    if ( $_SESSION["giris_basarili"] != TRUE ){
     echo "Sayfayı görmeye yetkiniz yok";
     exit();
  }
 
  // vt bağlantısını kuruyoruz.
  include("vt_baglanti.php");
  
  echo "<a href='cikis.php'>Güvenli Çıkış</a>";
  
  // VT kayıt çekiyoruz. 
  $sql    = "  SELECT id, ad, soyad, baslik, mesaj
               FROM mesaj "; 
  $result = mysql_query( $sql );
  
  echo "<table border=1>";
     echo "<tr>";    
     echo "<td><b>Ad</b></td>";
     echo "<td><b>Soyad</b></td>";
     echo "<td><b>Başlık</b></td>";
     echo "<td><b>Mesaj</b></td>";
     echo "<td><b>Sil</b></td>";
     echo "</tr>";    
  while( $row = mysql_fetch_array($result) ) { 
     echo "<tr>";    
     echo "<td>".$row["ad"]."</td>";
     echo "<td>".$row["soyad"]."</td>";
     echo "<td>".$row["baslik"]."</td>";
     echo "<td>".$row["mesaj"]."</td>";
     echo "<td><a href='mesaj_sil.php?f_id=" . $row["id"] . "'>Sil</a></td>";
     echo "</tr>";    
  }  
  echo "</table>";
 ?>

Ve mutulu sona az kaldı : ) Sil linkine tıklayınca silme işlemi için aşağıdaki kodları yazıyoruz veri tabanınıdan silinecek mesajın idsine göre seçilip siliniyor

<?php
  // Yetki kontrol
  session_start();
  ?>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <?
  if ( $_SESSION["giris_basarili"] != TRUE ){
     echo "Sayfayı görmeye yetkiniz yok";
     exit();
  }
  
  // vt bağlantısını kuruyoruz.
  include("vt_baglanti.php");
  
  $id = $_GET["f_id"]; 
 
  // VT kayıkliyoruz. 
  $sql = "DELETE FROM mesaj WHERE id=$id "; 
 
  if ( mysql_query( $sql ) ){
      echo "<br>Silme yapıldı.";
      include("yonetim.php");
  } else {  
      echo "<br>Sorgu hata verdi";
  }
 
 ?>

Ve Mutulu Son bitti sayılır son dosyamız çıkış dosyası çıkış dosyasında oluştruduğumuz session siliyoruz ve Oturumu kapatmış oluyoruz … : ) hadi geçmiş olsun

<?php 
   // cikis.php
   session_start();
   ?>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

   <?php
   $_SESSION["giris_basarili"] = NULL;  
   session_destroy();
   echo " Çıkış Yapıldı";
   echo "<a href='yonetici.php'> Giriş sayfası</a>";
         
 ?>

Dosyanın çalışan halini aşağıdaki linkten indirebilirsiniz…
[Yükleme bulunamadı.]

Php Dersleri – Php İle Ziyaretçi Defteri Yapımı (Veritabanı)

Bu yazımızla beraber Php ile basit bir ziyaretçi defteri yapmaya başlayacağız..

Kodlamaya başlamadan önce neler yapacağız onları kısaca anlatalım ilk olarak mesajları yazabilmek için bir html sayfası oluşturup buradan gelen verileri kaydedecek bir php dosyası oluşturacağız peki bilgiler nereye kaydedilecek tabi ki veri tabanına onun içinde bir veri tabanı oluşturup içinde gerekli alanların olduğu tablolar yapacağız.

Girilen mesajları silmek ve düzenlemek içinde bir yönetici paneli olması lazım ve onun içinde bir panel yapacağız ve oradan da mesajları silip düzenleme işlemi yapacağız…

Çok fazla uzatmadan hemen kodlamaya başlayalım ilk olarak bilgilerin tutulacağı bir veritabanı lazım hemen localhost/phpmyadmin adresine girip “ziyaret” isimli bir veri tabanı oluşturuyoruz.

ve bu veri tabanı içerisinde mesajları tutmak için mesaj isimli aşağıdaki özelliklerde bir tablo oluşturuyoruz..

CREATE TABLE mesaj (
id INT NOT NULL AUTO_INCREMENT,
ad VARCHAR(25) NOT NULL,
soyad VARCHAR(25) NOT NULL,
eposta VARCHAR(150) NOT NULL,
baslik VARCHAR(50) NOT NULL,
mesaj VARCHAR(255) NOT NULL,
tarihzaman DATETIME NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY ky_id (id)
)


Ve tabi birde yönetici bilgileri için tablo lazım oda aşağıdaki özelliklerde olacak ve bu kodlarla hem tablo oluşturup hem de ilk kullanıcı bilgilerimizi tablomuza ekliyoruz..

CREATE TABLE kullanicilar (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
kullanici_adi VARCHAR( 15 ) NOT NULL ,
parola VARCHAR( 10 ) NOT NULL
) ;
INSERT INTO kullanicilar (
id ,
kullanici_adi ,
parola
)
VALUES (
NULL , 'admin', '123456'
);


Evet veritabanı ve tablolarımız oluşturduk işimdi sıra geldi mesajların girilmesi için gerekli olan mesaj yaz sayfasını oluşturmaya kodlarımız aşağıda

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ziyaretçi Defteri - Mesaj Yaz
</title>
</head>
<body>
<form name="frm_msj_kaydet" method="post" action="mesaj_kaydet.php">
<table width="298" height="193" border="1">
<tr>
<td colspan="2" align="center">
<b>Ziyaretçi Defteri - Mesaj Yaz
</b>
</td>
</tr>
<tr>
<td> Ad:
</td>
<td>
<input type="text" name="f_ad" />
</td>
</tr>
<tr>
<td>Soyad
</td>
<td>
<input type="text" name="f_soyad" />
</td>
</tr>
<tr>
<td>e-posta
</td>
<td>
<input type="text" name="f_eposta" />
</td>
</tr>
<tr>
<td>Başlık
</td>
<td>
<input type="text" name="f_baslik" />
</td>
</tr>
<tr>
<td>Mesaj
</td>
<td>
<textarea name="f_mesaj">
</textarea>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="button" value="Kaydet" />
</td>
</tr>
</table>
</form>
</body>
</html>


Burada bizim için en önemli olan kısım

satırı burada gönder butonuna basıldığında bilgilerin hangi sayfaya gideceğini action=”mesaj_kaydet.php” belirtiyoruz. Bilgilerimiz mesaj_kaydet.php isimli sayfaya gönderilecek…
mesaj_kaydet.php sayfasını oluşturacağız ama bu sayfa veri tabanına bilgileri ekleyeceği için ilk olarak veri tabanı ile bağlantı kurmamız gerekiyor her sayfada ayrı ayrı tanımlama yerine bunu bir kere yapacağız ve bunun içinde vt_baglanti.php isimli dosya oluşturup aşağıdaki kodları yazıyoruz..

<?php
  $host       = "localhost";
  $kullanici  = "root";
  $parola     = "123456";
  $veritabani = "ziyaret";

  // Mysql veritabanına bağlantı kuruyoruz.
  if (mysql_connect($host,$kullanici,$parola)){
     echo "";
  } else {
     echo "VT Bağlantı hatası";
  }

  // kullanılacak olan vt'yi seçiyoruz
  if ( mysql_select_db($veritabani) ){
     echo "";
  } else {
     echo "<br>VT Seçme hatası";
  }
 ?>

Bu dosya ile vt’ye bağlanıp ziyaret isimli veritabanını seçiyoruz..
Ve şimdi sıra geldi mesajları veri tabanına kaydetmeye onun için mesaj_kaydet.php isimli dosyayı oluşturmaya yapacağımız işlem ilk olarak veritabanı bağlantısını kurmaya ve gelen bilgileri veritabanına kaydetmeye.. Aşağıdaki kodlarda bunu yapacağız…

<?php
ob_start();
   // vt bağlantısını kuruyoruz.
   include("vt_baglanti.php");

   // VT kayıt ekliyoruz.
   $sql = "INSERT INTO mesaj (  ad ,
                                 soyad ,
                                 eposta ,
                                 baslik ,
                                 mesaj ,
                                 tarihzaman
                                 )
         VALUES (
                                 '".$_POST["f_ad"]."',
                                 '".$_POST["f_soyad"]."',
                                 '".$_POST["f_eposta"]."',
                                 '".$_POST["f_baslik"]."',
                                 '".$_POST["f_mesaj"]."',
                                 NOW()
                                 );
 ";

   if ( mysql_query( $sql ) ){
       echo "<br>Mesajınız kaydedildi.<br>";
      header("Location: yaz.php");
   } else {
       echo "<br>Hata oluştu!";
   }
  ob_end_flush();
  ?>

Bu derslik bu kadar bir sonraki dersimizde ziyaretçi defterimize girilen mesajları listeleme ve daha sonra silme ve düzenleme işlemi için yönetim paneli oluşturacağız.. Şimdilik bu kadar kolay gelsin iyi dersler…Ders 2- Php İle Ziyaretçi Defteri Yapımı 2