Merhaba Arkadaşlar,
Çok ilginç bir durum var. Normalde kendi bilgisayarımda çalışan kodlarım arkadaşımın bilgisayarında çalışmıyor. Login sayfası var, orada bir session oluşturuyorum içerisine veritabanından gelen bilgileri atıyorum değişken ile ve kullanıcı giriş yapınca farklı bir klasöre yönlendiriyorum programa girmiş oluyor. Orada işte bu session'dan gelen değerleri alıp işlem yapıcam fakat ulaşamıyorum.
SESSION oluşuyor, tmp dosyasına bakıyorum oraya dosya var ve içinde de veriler var sorun yok, ben tarayıcıda da görüyorum session'u fakat php ile echo $_SESSION['yetki_kodu'] diyorum mesela bana hata veriyor. Test için klasör içerisinde deneme yaptım 2 php dosyası arasında session oluşturdum verileri aldım sorun yok ama bunda olmuyor. Kodları aşağıya bırakıyorum, yardımcı olabilir misiniz rica etsem ?
connectdb.php var session burada başlıyor ;
session_start();
login tarafındaki index.php ;
if(isset($_SESSION)){
session_start();
}
include 'connectdb.php';
//üst tarafta html kodları var direkt php kodları aşağıdaki gibi
<?php
if($_POST){
$KullaniciAdi=$_POST["username"];
$Sifre=$_POST["pass"];
if(!$KullaniciAdi || !$Sifre || $KullaniciAdi=="" || $Sifre == "") {
echo '<script>Swal.fire("Başarısız", " Lütfen boş alan bırakmayınız.", "error"); </script>'; }
else {
$sor = $db->prepare("SELECT * from Erp_Kullanicilar where KullaniciAdi = '$KullaniciAdi' and Sifre = '$Sifre' ");
$sor->execute();
$SorCek = $sor->fetchAll(PDO::FETCH_ASSOC); }
if($sor->rowCount() > 0){
echo '<script>Swal.fire("Giriş Başarılı.", " Programa Yönlendiriliyorsunuz..", "success"); </script>';
$yetkisor = $db->prepare("SELECT * FROM Erp_Kullanicilar where KullaniciAdi = '$KullaniciAdi' ");
$yetkisor->execute();
$sorCikti = $yetkisor->fetchAll(PDO::FETCH_ASSOC);
foreach ($sorCikti as $key => $value) {
$yetkikodu = $value['YetkiKodu'];
$TamAd = $value['TamAd'];
$kullaniciadi = $value['KullaniciAdi'];
$EPostaAdresi = $value['Eposta'];
}
$_SESSION['kullanici_adi'] = "$kullaniciadi";
$_SESSION['EPostaAdresi'] = "$EPostaAdresi";
$_SESSION['yetki_kodu'] = "$yetkikodu";
$_SESSION['tamad'] = "$TamAd";
?>bu programa girdikten sonra sidebar.php dosyası, burada session içindeki değeri almaya çalışıyorum hata veriyor.
<?php
if(isset($_SESSION)){
session_start();
}
echo $_SESSION['tamad'];
?>Hata :
<b>Notice</b>: Undefined variable: _SESSION in <b>C:\xampp\htdocs\yonetimpaneli\sidebar.php</b> on line <b>7</b><br />
connectdb.php dosyasında oturumu
session_start() fonksiyonu ile başlatıyorsanız,
index.php dosyasında
connectdb.php dosyasını
include ederek
index.php dosyasında da oturum başlatmış olursunuz. Aşağıdaki kodlar gereksizdir.
if(isset($_SESSION)){ session_start(); }
Ayrıca yine
sidebar.php dosyasında
$_SESSION değişkenini kontrol ediyorsunuz, eğer yoksa
session_start(); fonksiyonu ile oturum başlatıyorsunuz.
Kontrolünü sağladığınız $_SESSION değişkeninin oluşumu için öncesinde session_start() ile oturum başlatmanız gerekmektedir.
sidebar.php dosyası aşağıdaki gibi olmalıdır.
session_start(); echo $_SESSION['tamad'];