Arkadaşlar php ile küçük bir ziyaretçi defterini nasıl yaparız mantığı nedir bundan kısaca bahsedelim.
Öncelikle ziyaretçi defterinin nasıl yaparız elimizde ne olması gerekir ;
1. Ziyaretçilerimizden alacağımız bilgiler için bir form olmalı
2. Ziyaretçi bilgilerini kaydedecek bir de veritabanı olmalı
3. Bu bilğileri kaydetmek ve listelemek içinde php ve mysql kodlarına ihtiyacımız var.
ilk Olarak bir HTML formu hazırlamamız lazım
<form id="form1" enctype="multipart/form-data" method="post">
<div>
<table style="height: 288px;" border="0" cellspacing="0" cellpadding="0" width="514">
<tbody>
<tr>
<td colspan="2" height="26" align="center">
<table style="height: 26px;" border="0" width="488">
<tbody>
<tr>
<td width="279">ZİYARETÇİ DEFTERİ</td>
<td width="140"><span><span>Tarih : < ? $tarih = date("d / m / y") ; echo $tarih ?>
</span>
</span></td>
</tr>
</tbody></table>
</td>
</tr>
<tr>
<td width="103" height="30" align="right">Ad soyad :</td>
<td width="384" align="left"><input id="ad" name="ad" type="text" /></td>
</tr>
<tr>
<td height="30" align="right">E-mail :</td>
<td align="left"><input id="email" name="email" type="text" /></td>
</tr>
<tr>
<td height="30" align="right">Resim :</td>
<td align="left"><input id="resim" name="resim" type="file" /></td>
</tr>
<tr>
<td height="91" align="right" valign="top">Mesaj :</td>
<td align="left"><textarea id="mesaj" cols="45" rows="5" name="mesaj"></textarea></td>
</tr>
<tr>
<td colspan="2" align="right"><input id="tarih" name="tarih" type="hidden" value="<? $tarih = date(" />" />
<input id="button" name="button" type="submit" value="Gönder" /></td>
</tr>
<tr>
<td colspan="2" align="right">< ? echo @$kayit ?></td>
</tr>
</tbody></table>
</div>
</form>
Form da action bölümü yine aynı sayfa içinde dönecek ve PHP kodlerı ile bilgileri çekeceğiz resim dosyasını yükleyeceğiz ve veri tabanına HTML formdan gelen ziyaretçi bilgilerini veritabanına kayıt yapacağız. İşte kodlarımız
< ?
if(isset($_POST["ad"])){
$ad = $_POST["ad"] ;
$email = $_POST["email"] ;
$mesaj = $_POST["mesaj"] ;
$tarih = $_POST["tarih"] ;
$resim = $_FILES["resim"]["name"] ;
$resimt = $_FILES["resim"]["type"] ;
$resimk = $_FILES["resim"]["tmp_name"] ;
$klasor = "resim";
$dosyauzanti = substr($resim, -4) ;
@$rasgele = substr( md5(uniqid(rand($dosyauzanti))) , 0,5) ;
$resimyeniad = $rasgele.$dosyauzanti ;
if($resimt == "image/jpeg") {
$resimyukle = move_uploaded_file($resimk , $klasor . '/' . $resimyeniad);
$baglan = mysql_pconnect('localhost','root','') or die ("Veri Tabanına Baglanamadım AQ") ;
mysql_select_db("ziy" , $baglan) or die("Veritabanı seçilmedi.") ;
mysql_query("INSERT INTO ziyaret VALUES (NULL, '$ad', '$email', '$mesaj', '$resimyeniad' , '$tarih')") ;
$kayit = "Mesaj kaydedildi" ;
}
echo "Resim Formatı sadece jpg olmalıdır." ;
}
?>
Yukarıdaki kodlarımız index.php dosyasına yerleştirdikten sonra şimdi de Ziyaretçilerimizin girdikleri bilğileri veritabanından çekip listeleme işi yapalım bunun için bir tane listele.php dosyası oluşturuyoruz ve kodlarımızı içine yazıyoruz.
<?
$baglan = mysql_pconnect('localhost','root','edirne') or die("veritabanına bağlamadım") ;
mysql_select_db('ziy', $baglan);
$kontrol = mysql_query(" select * from ziyaret") ;
$say = mysql_num_rows($kontrol) ;
if($say == 0) {
echo "Kayıt Bulunamadı" ;
}
$ss = round($say / 4);
for(@$i ; @$i <= @$ss ; @$i++) {
echo "<a href='index.php?s=$i'>$i</a> ";
}
if ( isset($_REQUEST["s"]) ) {
$s = $_REQUEST["s"];
$b = ($s - 1) * 4;
} else {
$b = 1;
}
$sayfalilist = mysql_query( "select * from ziyaret order by id DESC limit $b, 4" );
?>
<?
while($listele = mysql_fetch_array($sayfalilist) ){
?>
<table width="515" height="140" border="0" cellpadding="0" cellspacing="1">
<tr>
<td height="22" colspan="2"><table width="100%" border="0" cellpadding="3" cellspacing="0" bgcolor="#FFFFFF">
<tr>
<td width="336"><strong>Adı Soyadı :</strong> <a href= "mailto:<?=$listele['email']?>" > <?=$listele['ad'] ?> </a></td>
<td width="191"><strong>Tarih : <?=$listele["tarih"] ?></strong></td>
</tr>
</table></td>
</tr>
<tr>
<td width="120" height="120" align="center" valign="middle"><img src = " resim/<?=$listele["resim"] ?> " width="120" height="120" /></td>
<td width="427" align="left" valign="top"><?=$listele["mesaj"] ?></td>
</tr>
</table>
<? } ?>
Yukarıda ziyaretçi bilgilerini listeledik ve sayfalandırdık. Buradan örnek dosyaları ve SQL dosyasını indirebilirsiniz.

