session

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 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 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 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($sorgu, 0, “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'”);
$sorgu= mysql_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,
0 ){
$user_name = mysql_result($sorgu, 0, “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 “

Sayın “;
echo $Bilgi[‘name’];
echo “sayfaya hoş geldiniz…
Kullanıcı Bilgisi

“;? >

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 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.

Related Posts Plugin for WordPress, Blogger...
PHP kategorisine gönderildi Etiketler:

Bir Cevap Yazın

Son Yazılar

doraglass