Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Admin paneli için yetkilendirme

Konu, 'PHP' kısmında dncrsd tarafından paylaşıldı.

Etiketler:
  1. dncrsd

    dncrsd Yeni Üye

    Kayıt:
    6 Ağustos 2017
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Hazırlamış olduğum siteye admin paneli yapmaya çalışıyorum. veritabanındaki kullanıcı adına göre yetkilendirme yapıcam. Bunu nasıl yapabilirim. Yani session'ı veritabanındaki bilgilere göre nasıl düzeleyebilirim?
     
    Son düzenleme: 10 Ağustos 2017
  2. tst

    tst Aktif Üye

    Kayıt:
    27 Ocak 2009
    Mesajlar:
    269
    Beğenilen Mesajlar:
    4
    ada göre değil de bir kolon olsun mesela "yetki" diye
    eğer yetki "0" ise normal kuıllanıcı , değil ise yani 1 ise mesela admin olsun.
    bunu da admin login sorgusunda kontrol ettirirsiniz.
    Ama ben adminler için ayrı bir tablo yapmanızı öneririm
     
    dncrsd bunu beğendi.
  3. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    96
    Beğenilen Mesajlar:
    6
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    İşyerinde kısa bir kodlama yazdım. Mantığını öğrenmen için kodladım.

    Mysql Tablo
    Kod:
    -- phpMyAdmin SQL Dump
    -- version 4.6.6
    -- https://www.phpmyadmin.net/
    --
    -- Anamakine: localhost
    -- Üretim Zamanı: 10 Ağu 2017, 14:49:20
    -- Sunucu sürümü: 5.7.17-log
    -- PHP Sürümü: 5.6.30
    
    SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";
    
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;
    
    --
    -- Veritabanı: `panel`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Tablo için tablo yapısı `uyecanlar`
    --
    
    CREATE TABLE `uyecanlar` (
      `id` int(11) NOT NULL,
      `uye_kadi` text NOT NULL,
      `uye_sifre` text NOT NULL,
      `uye_yetki` text NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    
    --
    -- Tablo döküm verisi `uyecanlar`
    --
    
    INSERT INTO `uyecanlar` (`id`, `uye_kadi`, `uye_sifre`, `uye_yetki`) VALUES
    (1, 'yonetici', '1', '1'),
    (2, 'admin', '1', '2'),
    (3, 'uye', '1', '3');
    
    --
    -- Dökümü yapılmış tablolar için indeksler
    --
    
    --
    -- Tablo için indeksler `uyecanlar`
    --
    ALTER TABLE `uyecanlar`
      ADD PRIMARY KEY (`id`);
    
    --
    -- Dökümü yapılmış tablolar için AUTO_INCREMENT değeri
    --
    
    --
    -- Tablo için AUTO_INCREMENT değeri `uyecanlar`
    --
    ALTER TABLE `uyecanlar`
      MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
    

    ayar.php
    PHP:
    <?php

    //Veri tabanı bilgilerimizi giriyoruz
    $mysql_host     =     "localhost";  
    $mysql_user     =     "root";          
    $mysql_pass     =     "123qw123";      
    $mysql_db       =     "panel";      

      

    $baglan mysql_connect($mysql_host$mysql_user$mysql_pass);

       
    mysql_query("SET NAMES UTF8");
    if(
    $baglan)
    {
      
        
    $vt_sec mysql_select_db($mysql_db$baglan);
        if(!
    $vt_sec)
        {

            die(
    "Veritabanı Seçilemedi!");
        }
    }else
    {

        die(
    "MySQL'e Bağlanılamadı!");
    }


    //Session başlatıyoruz ve  sessıonu stringe dönüştürdük
    ob_start();
    session_start();
    $giris_bilgileri=$_SESSION['id'];



    ?>
    index.php
    PHP:
    <?php
    //Veri tabanı dosyamızı ekliyoruz
    include("ayar.php");

    //session bilgisi var mı yok mu kontrol ettiriyoruz. Eğer boş ise giriş formu göstersin dolu ise yanu session bılgısı varsa panel bilgilerini göstersin.
    if(!isset($giris_bilgileri))
    {
      
    //form bilgileri
        
    ?>
        <form action="giris.php" method="post">
        <label>Kullanıcı Adı</label>
        <input type="text" name="uye_kadi">
            <label>Şifre</label>
        <input type="password" name="uye_sifre">
        <input type="submit" value="Giriş Yap">
        </form>
        <?php

    }else{
      
    //session bılgısıyle kullanıcıya ait bilgileri çağırıyoruz
             
    $uye_cek=mysql_query("SELECT * FROM uyecanlar where id='$giris_bilgileri'");
        
    $uyeler=mysql_fetch_array($uye_cek);
      
                
    $id=$uyeler["id"];
                
    $uye_kadi=$uyeler["uye_kadi"];
                
    $uye_sifre=$uyeler["uye_sifre"];
                
    $uye_yetki=$uyeler["uye_yetki"];

              
    //veri tabanına eklenen uyelerın yetkilerine göre panelde gozukmesi istenilen yerleri ayarlıyoruz
        
    if($uye_yetki=="1")
        {
            echo 
    "Hoş Geldin <b> $uye_kadi </b><em>(Yönetici)</em><br> Burası yönetici paneli<br><a href='cikis.php'>Çıkış yap </a>";
          
        }
        if(
    $uye_yetki=="2")
        {
            echo 
    "Hoş Geldin <b> $uye_kadi </b><em>(Admin)</em><br> Burası admin paneli<br><a href='cikis.php'>Çıkış yap </a>";
        }
        if(
    $uye_yetki=="3")
        {
            echo 
    "Hoş Geldin <b> $uye_kadi </b><em>(Üye)</em><br> Burası üye paneli<br><a href='cikis.php'>Çıkış yap </a>";
        }
      
    }


    ?>
    giris.php
    PHP:
    <?php

    //Veri tabanı dosyamızı ekliyoruz
    include("ayar.php");

      
    //post edilen verileri alıyoruz ve stringe dönüştürüyoruz
          
    $uye_kadi $_POST['uye_kadi'];
          
    $uye_sifre $_POST['uye_sifre'];
    //post edilen verilerin boş olup olmadığı kontrol ediliyor    
          
    if(empty($uye_kadi) or empty($uye_sifre))
          {
              echo 
    "Boş bırakılan yerler var <a href='index.php'>Ana Sayfa</a>";
          }else{
        


          

          
        
    //post edilen verilerin veri tabanında kontrolu yapılıyor uye var ise giriş başarılıdır ve   sessiona uyenın id değeri veriliyor  
        
          
    $uye_var_mi=mysql_query("SELECT * FROM uyecanlar WHERE uye_kadi = '$uye_kadi' and uye_sifre = '$uye_sifre'");
    if(
    mysql_num_rows($uye_var_mi)==1)
    {
    $uye_bul mysql_fetch_assoc($uye_var_mi);
        
          
    $uye_id=$uye_bul["id"];
        
            
    $_SESSION["login"] = "true";
             
    $_SESSION['id'] = $uye_id;
            
             echo 
    "Giriş Başarılı <a href='index.php'>Ana Sayfa</a>";
          }else {
    // eger veri yok ie uye yok ise hata mesajı veriliyor        
    echo "Böyle bir kullanıcı bulunamadı <a href='index.php'>Ana Sayfa</a>";
          }
      
          
       
    ob_end_flush();
          }
       
    ?>
    giris.php
    PHP:
    <?php

    //Veri tabanı dosyamızı ekliyoruz
    include("ayar.php");

      
    //post edilen verileri alıyoruz ve stringe dönüştürüyoruz
          
    $uye_kadi $_POST['uye_kadi'];
          
    $uye_sifre $_POST['uye_sifre'];
    //post edilen verilerin boş olup olmadığı kontrol ediliyor    
          
    if(empty($uye_kadi) or empty($uye_sifre))
          {
              echo 
    "Boş bırakılan yerler var <a href='index.php'>Ana Sayfa</a>";
          }else{
        


          

          
        
    //post edilen verilerin veri tabanında kontrolu yapılıyor uye var ise giriş başarılıdır ve   sessiona uyenın id değeri veriliyor  
        
          
    $uye_var_mi=mysql_query("SELECT * FROM uyecanlar WHERE uye_kadi = '$uye_kadi' and uye_sifre = '$uye_sifre'");
    if(
    mysql_num_rows($uye_var_mi)==1)
    {
    $uye_bul mysql_fetch_assoc($uye_var_mi);
        
          
    $uye_id=$uye_bul["id"];
        
            
    $_SESSION["login"] = "true";
             
    $_SESSION['id'] = $uye_id;
            
             echo 
    "Giriş Başarılı <a href='index.php'>Ana Sayfa</a>";
          }else {
    // eger veri yok ie uye yok ise hata mesajı veriliyor        
    echo "Böyle bir kullanıcı bulunamadı <a href='index.php'>Ana Sayfa</a>";
          }
      
          
       
    ob_end_flush();
          }
       
    ?>
    cikis.php
    PHP:
    <?php
    //Veri tabanı dosyamızı ekliyoruz
    include("ayar.php");
    //session bilgilerini temizliyoruz
    session_destroy();

    echo 
    "Çıkış yapıldı <a href='index.php'>Ana Sayfa</a>";
    ob_end_flush();
    ?>
    Dosyaları buradan indirebilirsin

    Takıldığın yer olursa yaz boşluklarımda yardımcı olmaya çalışırım
     

    Ekli Dosyalar:

    dncrsd bunu beğendi.
  4. dncrsd

    dncrsd Yeni Üye

    Kayıt:
    6 Ağustos 2017
    Mesajlar:
    5
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    Teşekkür ederim güzel anlatmışsınız.
     
    Son düzenleme: 11 Ağustos 2017
  5. sefa1471

    sefa1471 Üye

    Kayıt:
    13 Mart 2014
    Mesajlar:
    96
    Beğenilen Mesajlar:
    6
    Meslek:
    Öğrenci
    Şehir:
    Ankara
    Rica ederim ne demek yararlı olduysa ne mutlu bana. Takıldığınız yer olursa ben buralardayım.