kullanıcı giriş kontrolu basit şekliyle.
siz de geliştirirseniz bu kodları cok sevinirim teşekkürler kolay gelsin..
index.php
<head>
<meta http-equiv="Content-Language" content="tr">
</head>
<form method="POST" action="gelen.php">
Hoş geldiniz
<br>Lütfen şifrenizi giriniz :
<input type="text" name="no" size="10">
<input type="submit" value="Gönder" name="bt1"></p>
</form>
gelen.php
<head>
<meta http-equiv="Content-Language" content="tr">
</head>
<p><a href="index.php">Anasayfa</a></p>
<?php
$sifre = "admin";
$sayi = $_POST["no"];
if($sayi == $sifre){
echo "Yönlendiriliyorsunuz Lütfen Bekleyin.";
header("Refresh: 4; url=admin.php");
}else{
echo "Şifreyi yanlış girdiniz lütfen tekrar deneyiniz..";
}
?>
</html>
admin.php
<p align="center"><b><font size="5">burası admin.php sayfasıdır..</font></b></p>
SESSİON
şimdi kardeş bu şekilde olursa problemli olur.. yani ben direk admin.php yazarsam admin.php ye ulaşmış olurum :) Ozaman biraz geliştirelim demi...
şimdi session dedigimiz oturum degişkeni diye bişey var php de googlede aratırsan ne işe yaradıgını bulursun. onu kullancaz
<?php
session_start();
$sifre = "admin";
$sayi = $_POST["no"];
if($sayi == $sifre){
$_SESSION['KULLANICI'] = "gorevligiris";
echo "Yönlendiriliyorsunuz Lütfen Bekleyin.";
header("Refresh: 4; url=admin.php");
}else{
echo "<META HTTP-EQUIV=\"Refresh\" Content=\"0; URL=hata.php\">";
}
?>
şimdi sessionu açtırdık ve admin.php sayfasına yönlendirdik. ancak admin.php sayfamızın acılan sessionu tanıması ve session acılmadan direk adresten yapılan girişimleri reddetmesi için admin.php sayfasına bir kod yazmamız lazım.
işte bu kod
session_start();
if (!isset ($_SESSION['KULLANICI'])) {
die('<META HTTP-EQUIV="Refresh" Content="0; URL=hata.php">');
}
?>
evet şimdi hiç kimse şifreleri bilmeden admin.php sayfasına ulaşamaz. eger denerlerse hata.php sayfasına yönlenceklerdir. şimdi herşey güzelde bir şeye daha ihtiyacımız var... bu kullanıcının session oturumunu kapatmaya. onun içinde birtane cikis.php dosyası oluştursak ve içine şu kodları yazarsak. cikis.php dosyasına girildiginde. sessionun kapanmış olur. yani oturumun kapanmış olur.
<?php
session_start();
session_destroy();
echo '<center>Çikis yaptiniz yönlendiriliyorsunuz<center>';
echo '<META HTTP-EQUIV="Refresh" Content="2; URL=index.php">';
?>
işte 2 saniye sonra yine index.php yani şifreyi girdigin bölüme geri dönmüş bulunuyorsun.. inş faydalı olur....
Php
php kurulumu derken bilgisayarınıza bir localhost kurmaktanmı bahsediyorsunuz tam anlamadım :S
Php
ali hocam anlatımınız için teşekkür ederim ama biraz daha detay verebilirseniz çok sevinirim bazı yerleri anlamadım ):
Php
Şimdi şifreli giriş için bize gelen şifreleri kontrol eden bir sayfamız lazım demi?
şifreyi yazacagımız formun oldugu sayfa index.php olsun. siteyi açtık karşımıza geldi index.php. oraya şifreyi yazdık ve göndere tıkladık. nereye gitsin bilgiler ? kontrol.php sayfasına gitsin.. Peki kontrol.php sayfasının içine ne yazalım ?
işte bu kodları
<?php
session_start();
$sifre = "admin";
$sayi = $_POST["no"];
if($sayi == $sifre){
$_SESSION['KULLANICI'] = "gorevligiris"; //burada php dilinde diyoruzki eğer $sayi değişkeni $şifre degişkenine eşit ise bir kullanıcı oturumu yani session aç diyoruz. ve bu sessiona bir deger veriyoruz. ben burada gorevligiris diye bişey verdim kafamdan.
echo "Yönlendiriliyorsunuz Lütfen Bekleyin.";
header("Refresh: 4; url=admin.php");// şimdi durum dogruysa sessionumuzu açıp siteyi yönetecegimiz kodların oldugu admin.php sayfasına yönlendirelim
}else{
echo "<META HTTP-EQUIV=\"Refresh\" Content=\"0; URL=hata.php\">";// durum yanlış ise içinde "kardeş şifren yanlış şimdi defol" yazan bir hata.php sayfamız olsun ve şifreler yanlış ise oraya yönlendirsin...
}
?>
evet şimdi kontrol.php sayfamızda tamam. şimdi admin.php sayfamıza gönül rahatlıgı ile gidip sitemizi kontrol edebiliriz. amaaa ondan önce bişey var. admin.php sayfamıza öyle bi kod yazmalıyız ki session acılmadan gelen görüntüleme isteklerini hata.php sayfasına yönlendirsin sadece session acmış kullanıcılar girebilsin. E peki biz sessionu nerde acıyorduk ? tabiki kontrol.php sayfasında. peki kontrol.php sayfası sessionu hangi şartla açıyordu ? şifreleri bildigimiz zaman. ozaman buda demek oluyorki şifreyi bilmeden asla admin.php sayfasınının görüntülenmesine izin vermemeliyiz.
ozaman bakalım admin.php sayfasına ne yazıcaz
<?php
session_start();
if (!isset ($_SESSION['KULLANICI'])) {
die('<META HTTP-EQUIV="Refresh" Content="0; URL=hata.php">'); // hatırlarsan kullanıcı adında bir session açmıştık ve sessiona gorevligiris adında bir deger vermiştik. şimdi admin.php sayfasında soruyoruz. kullanıcı sessionu isset olmuşmu yani tanımlanmışmı? Değişmişmi Değişmemişmi?.... ne yer ne içer falan diyormuşum
evet eger tanımlanmış işe admin.php sayfamızın kodları görüncek eger degil ise yine içinde süper bi söz yazan hata.php sayfamıza gidicektir :D
}
?>
Güzell şimdi girişi de yaptık içimiz rahat. ama bişey daha var çıkışıda yapıcaz Bu adam ömür boyu admin panelinde oturum açmış olarak kalmıcak yaa. gerrçi belli zamandan sonra server kapatıyor ama olsun biz çıkalım.
çıkış işleminin mantıgı o birtane tanımladıgımız session vardı ya o zıkkımı tanımsız yapmamız gerek.
yani sessionu sonlandırmamız gerek hadi canını okuyalım bu session denen zımbırtının :)
cikis.php diye bir sayfa oluşturmakla başlayalım işe ve içinee
<?php
session_start();
session_destroy();
echo '<center>Çikis yaptiniz yönlendiriliyorsunuz<center>';
echo '<META HTTP-EQUIV="Refresh" Content="2; URL=index.php">';
?>
bu kodda actıgımız sessionu kapatır işte giriş ve cıkış işlemi bukadar şimdi umarım anlamışsındır kardeşim. bu arada bende hoca değilim :) bende ögrenciyim. daha hoca olucak kadar bilgiye sahip oldugumu sanmıyorum ama çalışkan bi ögrenci olabilirim belki
umarım anlamışsınızdır....
Php
valla hocam zahmet edip baya ayrıntılı anlatmışsınız öncelikle teşekkür ederim ve belki hoca degilsin ama benden cok şey bildiğinde aşikar o yüzden benim gözümde öylesin ;) saygıdan dolayı.. Fakat kötü bir haberim var bir çok yerini hala anlamadım )): sanırım daha çook çalışmam lazım bilmiyorum yada çok aptalım..
Php
Yok önemli degil kardeşim Sizin anlamanız için elimden geleni yaparım herzaman. Bu arada aptal falan degildir hiç kimse böyle konuşma lütfen biraz vakit ayırırsan çok basit bişey hemen çözersin :) Bu arada bende aslında çok şey bilmiyorum :) Sadece işin mantıgını biliyorum pratiğim fazla yok yani :)
while ve mysql
veri tabanında kullanıcılar var bunların kullanıcı adları şifreleri var dyelm kı vt de 2 adet kullanıcım war ben bunları sayfama cekyrm dyelm ki kullanıcı şifrelerini doğru girerek giriş yapıyo while dongusune attgm icn ekranda 2 adet onaylandı yazıyo eğer while dongusu kullanmazsam en son eklemıs oldugum kullanıcı bilgilerini alıyo diğerlerini almıyo yardım edr mısınzzz
