Php Login Sayfası
PHP Kullanıcı Girişi
Uygulamada kullanıcı adı ve şifreayar.php adındaki bir dosyada tutulmaktaydı. Fakat, profesyonel web uygulamalarında kullanıcı bilgileri dosyada değil de veritabanı (database) dediğimiz yapılarda tutulur. Gelin şimdi bu kontrolün veritabanına bağlanarak nasıl yapıldığını inceleyelim:
Önce ayar.php adında bir dosya oluşturarak veritabanına bağlanmak için gerekli kodları yazalım:
ayar.php
1
2
3
4
5
6
7
8
9
10
|
<?php $host = "localhost" ; $db = "mydb" ; $user = "murat" ; $pass = "123456" ; $conn =@mysql_connect( $host , $user , $pass ) or die ( "Mysql Baglanamadi" ); mysql_select_db( $db , $conn ) or die ( "Veritabanina Baglanilamadi" ); mysql_set_charset( 'latin5' , $conn ); ?> |
Bu uygulama için mydb adında bir veritabanı oluşturularak bu veritabanına erişme yetkisine sahip kullanıcı adı murat olan, şifresi de 123456 olan bir kullanıcı tanımlanmıştır. mydb veritabanında dauyeler adında bir tablo oluşturularak içerisinde sırasıyla id, username ve password sütunları oluşturulmuştur.
Şimdi kullanıcıdan kullanıcı adı ve şifresini girmesi için bir form yapalım. Bunun için index.php dosyasını oluşturuyoruz.
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<form action= "login.php" method= "POST" > <table align= "center" > <tr> <td>Kullanici Adi</td> <td>:</td> <td><input type= "text" name= "kadi" ></td> </tr> <tr> <td>Sifre</td> <td>:</td> <td><input type= "password" name= "sifre" ></td> </tr> <tr> <td></td> <td></td> <td><input type= "submit" value= "Giris" ></td> </tr> </table> </form> |
Burada 1 adet kullanıcı adı kutusu,1 adet şifre kutusu ve giriş butonu oluşturduk. Şimdi giriş butonuna tıklandığında girilen kullanıcı adı ve şifrenin doğru olup olmadığını test eden login.phpadında bir dosya oluşturuyoruz.
login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php include ( "ayar.php" ); ob_start(); session_start(); $kadi = $_POST [ 'kadi' ]; $sifre = $_POST [ 'sifre' ]; $sql_check = mysql_query( "select * from uyeler where username='" . $kadi . "' and password='" . $sifre . "' " ) or die (mysql_error()); if (mysql_num_rows( $sql_check )) { $_SESSION [ "login" ] = "true" ; $_SESSION [ "user" ] = $kadi ; $_SESSION [ "pass" ] = $sifre ; header( "Location:admin.php" ); } else { if ( $kadi == "" or $sifre == "" ) { echo "<center>Lutfen kullanici adi ya da sifreyi bos birakmayiniz..! <a href=javascript:history.back(-1)>Geri Don</a></center>" ; } else { echo "<center>Kullanici Adi/Sifre Yanlis.<br><a href=javascript:history.back(-1)>Geri Don</a></center>" ; } } ob_end_flush(); ?> |
Eğer girilen kullanıcı adı ve şifre doğru ise admin.php sayfasına yönlendiriyoruz, yanlış ise kullanıcı adı/şifre yanlış şeklinde ekranda hata mesajı yazdırıyoruz. Şimdi gelelim admin sayfamıza. Bunun için admin.php adında dosya oluşturuyoruz.
admin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?php include ( "ayar.php" ); ob_start(); session_start(); if (!isset( $_SESSION [ "login" ])){ header( "Location:index.php" ); } else { echo "<center>Admin sayfasina hosgeldiniz..! " ; echo "<a href=logout.php>Guvenli cikis</a></center>" ; } ?> |
Eğer kullanıcı siteye giriş yapmadan adres çubuğuna direkt admin.php yazarsa bu sayfaya erişemeyecek ve index.php giriş sayfasına yönlendirilecektir. Son olarak siteden çıkış yaparken yazmamız gereken koda. Bunun için de logout.php adında bir sayfa oluşturuyoruz.
logout.php
1
2
3
4
5
6
7
8
|
<?php session_start(); ob_start(); session_destroy(); echo "<center>Cikis Yaptiniz. Ana Sayfaya Yonlendiriliyorsunuz.</center>" ; header( "Refresh: 2; url=index.php" ); ob_end_flush(); ?> |
Çıkış linkine tıkladığımız zaman oturum bilgileri sonlandırılır ve 2 sn sonra anasayfaya yönlendirilme işlemi yapılır.
PHP Admin Paneli
PHP ile admin paneli yapmak için yapmanız gerekenler: Eğer kullanıcı adı ve şifreniz veritabanından değil de dosyadan kontrol edilecekse öncelikle kullanıcı adı ve şifre bilgisini tutan ayar.php adında bir dosya oluşturalım.
ayar.php
1
2
3
4
|
<?php $user = "admin" ; $pass = "123456" ; ?> |
Şimdi kullanıcıdan kullanıcı adı ve şifresini girmesi için bir form yapalım. Bunun için index.php dosyasını oluşturuyoruz.
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<form action= "login.php" method= "POST" > <table align= "center" > <tr> <td>Kullanici Adi</td> <td>:</td> <td><input type= "text" name= "username" ></td> </tr> <tr> <td>Sifre</td> <td>:</td> <td><input type= "password" name= "password" ></td> </tr> <tr> <td></td> <td></td> <td><input type= "submit" value= "Giris" ></td> </tr> </table> </form> |
Burada 1 adet kullanıcı adı kutusu,1 adet şifre kutusu ve giriş butonu oluşturduk. Şimdi giriş butonuna tıklandığında girilen kullanıcı adı ve şifrenin doğru olup olmadığını test edelim. Bunun için login.php adında bir dosya oluşturuyoruz.
login.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<?php include ( "ayar.php" ); session_start(); ob_start(); if (( $_POST [ "username" ]== $user ) and ( $_POST [ "password" ]== $pass )){ $_SESSION [ "login" ] = "true" ; $_SESSION [ "user" ] = $user ; $_SESSION [ "pass" ] = $pass ; header( "Location:admin.php" ); } else { echo "Kullancı Adı veya Şifre Yanlış.<br>" ; echo "Giriş sayfasına yönlendiriliyorsunuz." ; header( "Refresh: 2; url=index.php" ); } ob_end_flush(); ?> |
Eğer girilen kullanıcı adı ve şifre doğru ise admin sayfasına yönlendiriyoruz, yanlış ise giriş sayfasına yönlendirme işlemi yapılıyor.
Şimdi gelelim admin sayfamıza. Bunun için admin.php adında dosya oluşturuyoruz.
admin.php
1
2
3
4
5
6
7
8
9
10
|
<?php include ( "ayar.php" ); session_start(); if (!isset( $_SESSION [ "login" ])){ echo "Bu sayfayı görüntüleme yetkiniz yoktur." ; } else { echo "Admin sayfasina hosgeldiniz..<br>" ; echo "<a href=logout.php>Çıkış Yap</a>" ; } ?> |
Eğer kullanıcı siteye giriş yapmadan adres çubuğuna direkt admin.php yazarsa bu sayfaya erişemeyecektir. Son olarak siteden çıkış yaparken yazmamız gereken koda. Bunun için de logout.php adında bir sayfa oluşturuyoruz.
logout.php
1
2
3
4
5
6
7
8
|
<?php session_start(); ob_start(); session_destroy(); echo "Çıkış Yaptınız. Ana Sayfaya Yönlendiriliyorsunuz" ; header( "Refresh: 2; url=index.php" ); ob_end_flush(); ?> |
Çıkış linkine tıkladığımız zaman oturum bilgileri sonlandırılır ve 2 sn sonra anasayfaya yönlendirilme işlemi yapılır.