• 27-05-2021, 13:48:26
    #1
    Çözüldü.
  • 27-05-2021, 14:00:26
    #2
    <?php

    if(!isset($_SESSION)){
    session_start();
    }

    echo $_SESSION['tamad'];

    ?>
  • 27-05-2021, 14:02:44
    #3
    isset fonksiyonunu yanlış tanımlamissiniz. !isset() olarak kullanin
  • 27-05-2021, 14:26:48
    #4
    Üyeliği durduruldu
    GaziMKA adlı üyeden alıntı: mesajı görüntüle
    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'];
  • 27-05-2021, 16:25:31
    #5
    Üyeliği durduruldu
    GaziMKA adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Bahsettiğiniz düzeltmeleri yaptım, yukarıda MD_5 arkadaşımınızın söylediği düzeltmeyi de yaptım fakat sorun devam ediyor. connectdb.php sayfasında session başlattım ve login tarafındaki index sayfasında session başlatmadım. sidebar.php sayfasında ise direkt
    session_start();
    echo $_SESSION['tamad'];

    bu şekilde yazdım yine hata veriyor.

    Hata:

    <b>Warning</b>:  session_start(): Cannot start session when headers already sent in <b>C:\xampp\htdocs\yonetimpaneli\sidebar.php</b> on line <b>2</b><br />
    <br />
    <b>Notice</b>:  Undefined variable: _SESSION in <b>C:\xampp\htdocs\yonetimpaneli\sidebar.php</b> on line <b>3</b><br />
    Dosyalarınızı notepad++ kullanarak açın ve aşağıdaki değişikliği yapıp kaydedin öyle deneyin.
  • 27-05-2021, 16:49:46
    #6
    hasyer üstadımızın yardımı ile sorun çözüldü, teşekkür ederim