A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_URI::$config is deprecated

Filename: core/URI.php

Line Number: 101

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Router::$uri is deprecated

Filename: core/Router.php

Line Number: 127

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$benchmark is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$hooks is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$config is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$log is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$utf8 is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$uri is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$exceptions is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$router is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$output is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$security is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$input is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$lang is deprecated

Filename: core/Controller.php

Line Number: 75

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$load is deprecated

Filename: core/Controller.php

Line Number: 78

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$db is deprecated

Filename: core/Loader.php

Line Number: 390

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_DB_mysqli_driver::$autoinit is deprecated

Filename: database/DB_driver.php

Line Number: 371

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 113

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 280

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 145

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 223

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 303

A PHP Error was encountered

Severity: 8192

Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice

Filename: drivers/Session_files_driver.php

Line Number: 344

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$session is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$pagination is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$email is deprecated

Filename: core/Loader.php

Line Number: 1290

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$ders_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$bilgi_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$data is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$benchmark is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$hooks is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$config is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$log is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$utf8 is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$uri is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$exceptions is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$router is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$output is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$security is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$input is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$lang is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$load is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$db is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$session is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$pagination is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$email is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$ders_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$bilgi_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$makale_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: setcookie(): Passing null to parameter #7 ($httponly) of type bool is deprecated

Filename: core/Input.php

Line Number: 410

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property index::$yorum_model is deprecated

Filename: core/Loader.php

Line Number: 353

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$makale_model is deprecated

Filename: core/Loader.php

Line Number: 925

A PHP Error was encountered

Severity: 8192

Message: Creation of dynamic property CI_Loader::$yorum_model is deprecated

Filename: core/Loader.php

Line Number: 925

PHP Session Kullanımı (Oturum Yönetimi)
Öneri ve Hata Raporu



Günün Sözü İnsan kafasında ne kurarsa, onu yaşar.

kategori PHP
oylama 3/5 yorum 2 yorum yazar Hakan Taşan tarih 01 Temmuz 2015

Session (oturum) kullanarak kullanıcının siteyi gezerken yaptığı aktiviteleri kontrol etmek mümkündür. Çalışma prensibi kısaca şöyledir; bir siteyi ziyaret ettiğinizde, server (sunucu) tarafından tarayıcınıza bir session ID değeri gönderilir (session ID değerleri her kullanıcıya özgüdür). Tarayıcınız bu session ID değerini bilgisayardaki cookie'lerde (çerezlerde) aramaya başlar. Siteyi ilk defa ziyaret ettiğiniz için böyle bir değer bulamaz ve bu session ID değerini hemen o siteye ait çerezlere kaydeder. Aynı zamanda sunucu tarafında da session bilgileriniz (session ID'niz, IP adresiniz, son giriş zamanınız, kullanıcı adınız vb.) kaydolunur. Bundan sonra site üzerinde yapılan bütün gezinmelerde bu session ID üzerinden veri gönderimi gerçekleştirilir. Sayfalar arası geçişlerde eğer tarayıcı çerezlerde session ID değerini bulursa, sunucu tarafından tanınmış olursunuz ve sunucu tarafındaki bilgileriniz güncellenir (ayar yapılmışsa session ID'de yenilenebilir). Eğer tarayıcı çerezlerde session ID değerini bulamazsa (çerezleri silme, çerezlerin zaman aşımına uğraması vb. gibi nedenlerle) yeni bir session ID değeri çerezlere kaydedilir. Böylelikle döngü devam eder. Daha detaylı bilgileri bu yazıda okuyabilirsiniz.

Session Oluşturma ve Veri Ekleme

Session ile veri ekleme işlemlerini yapmadan önce kesinlikle session (oturum) başlatmalıyız. Bu oturumu session_start() fonksiyonu ile yapacağız. session_start() fonksiyonu W3 kurallarına göre sayfanın en başına html etiketlerinden önce yazılmalıdır. session_start() fonksiyonu, session ID değerinin tanımlanıp tanımlanmadığını kontrol eder. Eğer tanımlı session ID değeri yoksa bize ait yeni session ID değerini oluşturur. Eğer tanımlı session ID değeri varsa bunun üzerinden işlemler yapılmaya devam eder.

Session'a veri eklemek için $_SESSION global dizisini kullanacağız.

<?php
    // Session başlatır
    session_start();
?>

<!DOCTYPE html>
<html>
<body>

<?php
    // Session'a veri ekleme
    $_SESSION["kullanici_adi"] = "x";
    $_SESSION["sepet"] = "laptop";
?>

</body>
</html>

 

Session Verilerine Ulaşma

Session verilerine ulaşmak için yine $_SESSION global dizisini kullanacağız.

<?php
    // Session başlatır
    session_start();
?>

<!DOCTYPE html>
<html>
<body>

<?php
    // Sessionda bulunan verileri yazdırır
    echo "Kullanıcı Adı: " . $_SESSION["kullanici_adi"];    // Çıktı: Kullanıcı Adı: x
    echo "Sepetiniz: " . $_SESSION["sepet"];    // Çıktı: Sepetiniz: laptop
?>

</body>
</html>

 

Session Kontrol Etme

Session kontrolünü isset() ile yapacağız.

if(isset($_SESSION["kullanici_adi"]))
    echo "Session Kaydı Var";
else
    echo "Session Kaydı Yok";

//Çıktı: Session Kaydı Var

 

Session Verilerini Silme

Session verilerini silmek için unset() ve session_unset() fonksiyonlarını kullanacağız. Tek olarak session verisini silmek için unset(), bütün verileri silmek için session_unset() fonksiyonunu kullanabiliriz. Session verileri silinmesine rağmen oturum hala açıktır, yeni veriler kaydedilebilir.

unset("sepet");  // sepet adındaki oturum bilgilerini siler

session_unset();  // bütün oturum bilgilerini siler (kullanici_adi ve sepet)


Session Oturumunu Sonlandırma

Session oturumunu sonladırmak için session_destroy() fonksiyonunu kullanacağız. Bu sayede oturum kapanacağı için bütün session verileri de silinmiş olacak.

session_destroy();

 

Session ID Değerini Öğrenmek

Gelişmiş tarayıcılar aracılığıyla session ID değerini öğrenmek çok basitleşti. Chrome kullanıyorsanız mouse ile sağ tıklayıp 'Öğeyi Denetle', Mozilla Firefox kullanıyorsanız 'Öğeyi İncele' yaparak öğrenebilirsiniz. PHP ile öğrenmek istiyorsanız session_id() fonksiyonunu kullanabilirsiniz.

echo session_id();

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

2 Yorum


yorum

fatih yasin söndüren

06 Ocak 2017 14:33


hocam bir sorum olacaktı phpmyadmindeki idisi mesela 1 olan kullanıcı admin.phpye girme yetkisi olsun gibi veri çekme olayını yapamadım yardımcı olur musunuz

yorum

Admin

06 Ocak 2017 22:48


merhaba hocam en basit haliyle şöyle anlatabilirim; öncelikle veri tabanından id değerini çekeceksiniz, daha sonra kontrol.php dosyası içerisinde if ile koşul kontrolleri yapacaksınız ve uygun sayfaya yönlendireceksiniz. admin.php içerisinde de (aslında bütün sayfalarınızda session kontrolü yapmalısınız ki admin olan kişi bütün sayfalarda tanınsın) session kontrollerini yapacaksınız. şu şekilde;

kontrol.php içinde

if(veritabaniid == 1)
admin için session oturumu oluşturma kodları
yönlendir admin.php
else
yönlendir index.php


admin.php içinde

if(isset ... session kontrolü)
admin sayfası kodları
else
hata mesajı
yönlendir index.php


not: kontrol.php kodları uygun şekilde düzenlenirse direkt olarak admin.php'ye ya da istediğiniz dosyaya yazabilirsiniz, sadece kafanız karışmaması için ayırarak örnek verdim.