PHP Kullanıcı Girişi + Cookie Kontrolü (MYSQL'siz)

Techno_maynaQ
14-04-2009, 13:15   |  #1  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
165 mesaj
Kayıt Tarihi:Kayıt: Nis 2008

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'); } ?>
Son olarak da çıkış sayfası [cikis.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"); ?>
<!-- HTML için açıklamlar -->
/* 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.

Son Düzenleme: Techno_maynaQ ~ 25 Nisan 2009 10:22
ali_jahn
14-04-2009, 14:19   |  #2  
Üye
Teşekkür Sayısı: 0
59 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

Teşekkürler denedim oluyor..

efsane18
21-04-2009, 19:15   |  #3  
Yıllanmış Üye
Teşekkür Sayısı: 0
173 mesaj
Kayıt Tarihi:Kayıt: Nis 2007

ya kardeş bunları tam olarak nasıl birbirine bağlıcaz bu konuda yardım edermisin...

PcMaKeR
22-04-2009, 21:17   |  #4  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

birşeyde hem fikir olalım cookie sadece 4 kb bilgi tutabilir. eğer çok önemli veri yada bilgi tutulacaksa cookie bir işe yaramaz. bunu eğer cookiede iş çözmek isteyen olursa diye söyledim.

kodların gerçekten güzel. isteyen arkadaşların işine yarayacaktır.

Techno_maynaQ
25-04-2009, 10:06   |  #5  
OP Yıllanmış Üye
Teşekkür Sayısı: 0
165 mesaj
Kayıt Tarihi:Kayıt: Nis 2008
efsane18
ya kardeş bunları tam olarak nasıl birbirine bağlıcaz bu konuda yardım edermisin...
Kodları zaten birbiriyle bağlantılı sayfa isimleri ile birlikte verdim ancak istersen mail adresine çalışan bir örneğini gönderiyim.

PcMaKeR yorumun için sağol. Ben zaten bunu basit ve sadece 1 kullanıcı kontrolü yapacak sistemler için olduğunu söylemiştim. Kod üzerinde geliştirme yaparsam buarada da güncellerim. Cookie yerine Session kullanmak sanırım daha güvenli ve mantıklı. Ben de boş vaktim olunca session kullanımını öğreneceğim.

efsane18
25-04-2009, 14:43   |  #6  
Yıllanmış Üye
Teşekkür Sayısı: 0
173 mesaj
Kayıt Tarihi:Kayıt: Nis 2007
Techno_maynaQ
Kodları zaten birbiriyle bağlantılı sayfa isimleri ile birlikte verdim ancak istersen mail adresine çalışan bir örneğini gönderiyim.

PcMaKeR yorumun için sağol. Ben zaten bunu basit ve sadece 1 kullanıcı kontrolü yapacak sistemler için olduğunu söylemiştim. Kod üzerinde geliştirme yaparsam buarada da güncellerim. Cookie yerine Session kullanmak sanırım daha güvenli ve mantıklı. Ben de boş vaktim olunca session kullanımını öğreneceğim.

peki kardeş gönderdiğin yerden indirdim teşekkür ederim yalnız ben sana bi konuda bilgi edinmek istiyorum şimdi diyelimki ben php ile üyelik formu oluşturdum ve buna  gerekli bilgileri doldurdum ve direk php myadinde veri tabanına kaydetmesini istiyorum ve üye olan kişinin kullanıcı adi ve şifresini girdiğinde anasayfaya yönlendiriliyorsunuz şeklinde bir yazı gelmesini ve bunun ardından anasayfaya direk gitmesini istiyorum ben bu konuda biraz uğraştım ama devamlı hata sorunu almaktayım ve en sonunda tekrar baştan yaptım ve aynı sorunu aldım peki senin bu konuyla bir bilgin veya yapılmış örneğin varsa yardım edersen çok memnun olurum ben bunu yaptığım web tasarımında kullanmak istiyorum ama yapamadım bunu öğrenmem çok öenemli yardım edersen sevinirim...

PcMaKeR
25-04-2009, 20:13   |  #7  
PcMaKeR avatarı
Yıllanmış Üye
Teşekkür Sayısı: 6
8,935 mesaj
Kayıt Tarihi:Kayıt: Eki 2005

Techno_MaynaQ rica ederim. PHP Sessionları açıkçası tam bilmiyorum ama ASP.NET te baya ilerlettim. PHP Den daha kuvvetli bir session yapısı var Her türlü nesneyi içinde tutabiliyor.



kısa ama öz bir session anlatımı ;)

berkant06_1985
15-05-2009, 22:42   |  #8  
Taze Üye
Teşekkür Sayısı: 0
3 mesaj
Kayıt Tarihi:Kayıt: May 2009

Arkadaşlar benim pek bilgisayar bilgim yok. şunu soracaktım. ödevimde hızlı yanıt verirseniz sevinirim. html kodları kullanarak birkaç kullanıcı girişli site yapmam gerekiyor. yani sabit birkaç kullanıcı adı ve şifresi ile giriş yapılacak bunu nasıl yapabilirim. lütfen bana yardımcı olun...