Yavaş yavaş PHP çalışmalarıma başladım ve ilk örneğimi sunuyorum. İnternette bir çok üyelik girişi ve cookie kontrolü var ancak hepsi MySQL veri tabanından kullanıcı filtrelemesi yapıyor. Ancak sadece tek kullanıcı olacaksa veritabanına pek gerek yok bence. Örneğin Cookie ayarları geliştirilebilir ve güvenlik konusunda da açıkları olabilir çünkü şimdilik sadece çalışması ile ilgileniyorum.
Giriş Formu [HTML]
- [ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<!-- Formda açıklamaya gerek yok sadece action ve method bölümlerini belirliyoruz. Tablo stili kendinize kalmış --> <form action="kontrol.php" method="post"> <table class="style1"> <tr> <td class="style2">CMS 1.5 PreRelease</td> </tr> <tr> <td> <input name="kadi" type="text" style="width: 110px" /> </td> </tr> <tr> <td> <input name="ksifre" type="password" style="width: 110px" /> </td> </tr> <tr> <td align="center"><input name="giris" type="submit" value="G İ R İ Ş" /> </td> </tr> </table> </form>
Kontrol Sayfası [kontrol.php]
- [ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<?php /* Kullanıcı adımızı ve şifremizi değişkene atıyoruz */ $k_adi = $_POST['kadi']; $k_sifre = $_POST['ksifre']; /* değişkenlerimizi metin değerleriyle karşılaştırıyoruz */ if ($k_adi == "kullanıcı" && $k_sifre == "sifre"){ /* cookie özelliklerini belirliyoruz */ /* setcookie (cookie adı, cookie değeri, cookie süresi)*/ setcookie("t_admin","online",time()+3600); /* 1 saat */ /* bilgiler doğruysa yönlendirilecek sayfa */ header('Location: user.php'); }else{ /* bilgiler yanlışsa */ /* cookie değerini offline olarak belirliyoruz */ setcookie("t_admin","offline",time()-3600); /* 1 saat öncesi */ /* bilgiler yanlış ise giriş ekranına */ header('Location: index.php'); } ?>
Cookie Kontrolü [user.php sayfası içi]
- [ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<?php /* cookie değerimizi değişkene alıyoruz */ $cookie = $_COOKIE['t_admin']; /* karşılaştırma yazpıyoruz */ if ($cookie == "online"){ /* eğer doğruysa sayfanın üst kısmına tablo yazdırıyor */ /* buraya kullanıcı adını veya istedğiniz başka bir kodu girebilirsiniz */ echo " <table width=\"100%\"> <tr> <td width=\"100%\">Kullanıcı Paneli</td> <td><a href=\"cikis.php\">Çıkış</a></td> </tr> </table> "; }else{ /* eğer giriş yapılmamışsa giriş ekranına */ header('Location: index.php'); } ?>
- [ Tüm kodu seç ] [ Yeni Pencerede Göster ]
<?php /* cookie değerini offline olarak atıyoruz */ setcookie ("t_admin", "offline", time() - 3600); /* giriş ekranına */ header ("Location: index.php"); ?>
/* PHP için açıklamlar */
Kodların birgün işinize yaraması dileğiyle :D
NOT: IE7 ile çalışan arkadaşlar cookie süresini 1 güne ayarlasınlar veya süresiz olarak belirtsinler.