İletişim
Yardım
Bugünki Mesajlar
Ajanda
Üye Listesi
Kayıt ol
Home

Navigation
Geri git   DelikanForum.NET > BILGISAYAR-INTERNET / GRAFIK-WEB > Html - PHP - SQL
Cevapla
 
LinkBack Seçenekler

  #1
Alt 20.03.2007, 18:54
 
SeyFull@H - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 29.07.2005
Mesajlar: 980
Konulara Teşekkür etti: 3
7 Teşekkür aldı 4 Mesajlar için
Php ile Farklı Bir Oturum Yönetimi

Php`nin Cookkie ve Session komutları dışında birde kendi oturum yönetimimizi kendimiz yapalım.
Mysql de “Oturum” adlı bir database açtığımızı kabul ediyorum.
Öncelikle database bilgilerimizi tutan bir dosya oluşturalım.

PHP- Kodu:
<?php
function Baglanti(){
    
$host "localhost"// Database adı veya İp
    
$database "oturum"//database adı
    
$user "root"// database kullanıcı adı
    
$pass ""// database şifresi

    
$baglanti=mysql_connect("$host""$user""$pass") or die ("veritabanı ile Bağlantı Kurulamadı");
    
mysql_select_db($database) or die ("Veritabanı Seçilemedi");
    if(
mysql_error())
    {
        echo 
mysql_error();
    }
}
? >





Php`nin Cookkie ve Session komutları dışında birde kendi oturum yönetimimizi kendimiz yapalım.
Mysql de “Oturum” adlı bir database açtığımızı kabul ediyorum.
Öncelikle database bilgilerimizi tutan bir dosya oluşturalım.
<?phpfunction Baglanti(){ $host = "localhost"; // Database adı veya İp $database = "oturum"; //database adı $user = "root"; // database kullanıcı adı $pass = ""; // database şifresi $baglanti=mysql_connect("$host", "$user", "$pass") or die ("veritabanı ile Bağlantı Kurulamadı"); mysql_select_db($database) or die ("Veritabanı Seçilemedi"); if(mysql_error()) { echo mysql_error(); }}? >Sonra oturum adlı databasemizin içine bir session bilgilerimizi tutan tablo birde kullanıcı bilgilerimizi tutan tablomuzu yapalım. Ben bunu install.php olarak hazırladım. Direk çalıştırırsanız kendisi kuracaktır.

PHP- Kodu:
<?php
include ("database.php");
include (
"fonksiyon.php");
Baglanti();

mysql_query("CREATE TABLE session (
  id bigint(20) NOT NULL auto_increment,
  username varchar(255) NOT NULL default '',
  session_id varchar(255) NOT NULL default '',
  timer varchar(25) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;"
);
mysql_query("CREATE TABLE users (
  id bigint(20) NOT NULL auto_increment,
  username varchar(255) NOT NULL default '',
  pass varchar(255) NOT NULL default '',
  eposta varchar(255) NOT NULL default '',
  name varchar(255) NOT NULL default '',
  PRIMARY KEY  (id)
) TYPE=MyISAM;"
);

if(
mysql_error())
{
    echo 
mysql_error();
    echo 
"db error";
}else{
    echo 
"Veritabanı Başarıyla Oluşturuldu ";
}
$username "Sijiero"//Kullanıcı adınız
$pass "e10adc3949ba59abbe56e057f20f883e"//MD5 li hali "123456"
$eposta "kbdemir@mutasyon.net"//eposta adresiniz
$name "Kürşat Bünyamin Demir"//isminiz

mysql_query("INSERT INTO `users` (`id`, `username`, `pass`, `eposta`, `name`) VALUES
(null, '$username', '$pass', '$eposta', '$name')"
);
if(
mysql_error())
{
    echo 
mysql_error();
    echo 
"user error";
}else{
    echo 
"
Kullanıcı Oluşturuldu"
;
}
? >
Şimdi birde Fonksiyonlarımızı tutacağımız. Fonksiyon.php oluşturalım

PHP- Kodu:
<?php
function CreateSession($user_name){
    global 
$session;
    
$user_name;
    
$timer mktime();
    
$old_ses mktime();
    
$sorgu mysql_query("select session_id from session where username='$user_name' order by timer desc limit 0, 1");
    
$sonuc mysql_num_rows($sorgu);
    if(
$sonuc>0){
        
$old_ses mysql_result($sorgu0"session_id");
    }
    
$session md5($user.$timer.$old_ses);
    return 
$session;
}
function 
KullaniciBilgisi($user_name){
global 
$user_name$Bilgi;
        
$sonuc mysql_query("SELECT * from users where username='$user_name'");
$sorgumysql_fetch_array($sonuc);
$Bilgi = Array(
                     
'username' => $sorgu['username'],
                     
'eposta' => $sorgu['eposta'],
                     
'name' => $sorgu['name'],
                     ); 
                     return 
$Bilgi;

 }

function 
SessionKontrol($session){
 global 
$session$user_name;
        
$sorgu mysql_query("select * from session where session_id='$session'");                  
        
$sonuc mysql_num_rows($sorgu);        
     
$hadi=mysql_fetch_array($sorgu); 
     
$user_name=$hadi['username'];        
     return 
$user_name; }
? >
Şimdi index.php mizi yapalım.
İndex php mizde kullanıcının login olacağı username , password kutucukları ve gönder butonu var.
Ve de,
<INPUT maxLength=18 name=Lusername size=12 <INPUT maxLength=8 name=Lpassword size=8 Bunlarda username ve password bölümlerinin değerleri.
Form Actionda da gördüğünüz gibi buradan alınan veriyi index2.php ye gönderiyoruz. Şimdi index2.php mizi yapalım


PHP- Kodu:
<?php
include ("database.php");
include (
"fonksiyon.php");
Baglanti();
if(isset(
$_GET['action'])) //herhangi bir  de?er varsa
{
    if(
$_GET['action']=="login"
    {
        
$user_name $_POST['Lusername'];
         
KullaniciBilgisi($user_name);
        
$pass MD5($_POST['Lpassword']);
        
$sorgu mysql_query("select username, pass from users where username='$user_name' and pass='$pass'");          
        
$sonuc mysql_num_rows($sorgu);       
        if(
$sonuc==0){
            echo (
"

Lütfen geçerli bir kullanıcı adı veya şifre girin\n"
);
        }
        }
            if(
$sonuc ){
                
$user_name mysql_result($sorgu0"username");
                
$istime mktime();
                
CreateSession($user_name);
                
mysql_query("insert into session values(null, '$user_name', '$session', '$istime')");
            }
        }
if(!
$_GET['action']){
//hiçbir de?er yoksa
    
echo ("
Sistemde bir hata var."
);
}

echo 
"<table width=\"36%\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\">
<tr> 
    <td><span class=\"text\">Sayın </span>"

    echo 
$Bilgi['name'];  
   echo 
"<span class=\"text\">sayfaya hoş geldiniz... </span> </td>
  </tr>
  <tr>
    <td><a href=\"bilgi.php?sess=$session\">Kullanıcı Bilgisi </a></td>
  </tr>
</table>"
;? >
index2.php mizi de oluşturduktan sonra. Kullanıcı bilgilerimizi alacağımız başka bir sayfa yapalım ki session modelimizi çalıştırabilelim. Bilgi.php

PHP- Kodu:
<?Php
include ("database.php"); 
include (
"fonksiyon.php"); 
Baglanti(); 
$session=$_GET['sess'];
SessionKontrol($session); 
KullaniciBilgisi($user_name);
echo  
$Bilgi['username'];
echo  
$Bilgi['name'];
echo  
$Bilgi['eposta'];
? >
Görüldüğü üzere sayfalardan sayfalara geçiş yapıldıkça session kodu sizle beraber gezecektir. $_GET metoduyla bu kodu alıp bir fonksiyon içinde kontrol ettikten sonra bu kullanıcıya ait olan bilgileri çekebiliyoruz. Buda farklı bir oturum yönetimi sistemi olarak düşünülebilir. Tabi burada kullanılan session kodunun çözülmesi çok güç hem unix zamanı ve buna ilaveten username yi birleştirip bunların md5 değerini döndürüyor. Siz bunu daha da zor hale getirebilirsiniz.
SeyFull@H isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
  #2
Alt 23.03.2007, 12:04
Mevlam neyler, neylerse güzel eyler..
 
Fatihsultan - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 26.11.2005
Yaş: 13
Mesajlar: 9,088
Konulara Teşekkür etti: 0
11 Teşekkür aldı 10 Mesajlar için

Peki abi bu kodu nereye yaziyoruz..
__________________
Mevlam neyler , neylerse güzel eyler...
Fatihsultan isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
  #3
Alt 24.05.2007, 19:54
Özgür Kuş....
 
BaSkEtBoLcU - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 24.05.2007
Mesajlar: 49
Konulara Teşekkür etti: 0
0 Teşekkür aldı 0 Mesajlar için

Alıntı:
Fatihsultan´isimli üyeden Alıntı Mesajı göster
Peki abi bu kodu nereye yaziyoruz..
ewet nereye??????
BaSkEtBoLcU isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla


Seçenekler

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar son Mesaj
oturum açmanın kısa yolu nedir acaba? µmmed Hardware ve Software konusunda Sorular, Cevaplar 0 19.08.2007 18:04
Farklı ictihad ve farklı hadisler konusunda bilgi Alp Dini Bilgi ve Eğitim 2 06.04.2007 14:32
Şeytan Şimdi Oturum Açtı!.. Hikaye Gençlik Lokali 0 14.12.2006 00:31
İki farklı öğretmen; iki farklı davranış hizmet_ Özgün Yazılarınız 1 18.06.2006 00:58


Bütün Zaman Ayarları WEZ +2 olarak düzenlenmiştir. Şu Anki Saat: 19:23 .
Powered by vBulletin Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Template-Modifikationen durch TMS Web Design by: vbdesigns.de

 
Anasayfa - Arşiv - Yukarı git