[Yardım]PHP HTTP Üyelik Girişi

'PHP' forumunda YaaKod tarafından 31 Ocak 2018 tarihinde açılan konu

  1. YaaKod

    YaaKod Onursal Üye

    Mesaj:
    37
    Alınan Beğeniler:
    15
    Uzmanlık Alanları:
    PHP
    Merhabalar anonim sosyal media scripti kodluyorum ve giriş yaparken http kullanıyorum

    Kod:
    <?php
    $saha = 'YASAK';
    
    // kullanici => parola
    $kullanicilar = array('yonetici' => 'gizlisifre', 'misafir' => 'misafir');
    
    
    if (empty($_SERVER['PHP_AUTH_DIGEST'])) {
        header('HTTP/1.1 401 Unauthorized');
        header('WWW-Authenticate: Digest realm="'.$saha.
               '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($saha).'"');
    
        die('Giriş yapmak zorundasın');
    }
    
    
    // PHP_AUTH_DIGEST değişkenini inceleyelim
    if (!($veri = http_ozet_cozumle($_SERVER['PHP_AUTH_DIGEST'])) ||
        !isset($kullanicilar[$veri['username']]))
        die('Kimlik Doğrulama Hatası!');
    
    
    // geçerli yanıt üretimi
    $A1 = md5($veri['username'] . ':' . $saha . ':' .
          $kullanicilar[$veri['username']]);
    $A2 = md5($_SERVER['REQUEST_METHOD'].':'.$veri['uri']);
    $gecerli_yanit = md5($A1.':'.$veri['nonce'].':'.$veri['nc'].':'.
          $veri['cnonce'].':'.$veri['qop'].':'.$A2);
    
    if ($veri['response'] != $gecerli_yanit)
        die('Kimlik Doğrulama Hatası!');
    
    // tamam, geçerli kullanıcı adı & parolası
    echo 'Hoşgeldiniz : ' . $veri['username'];
    
    
    // http kimlik doğrulama başlığını çözümleyecek işlev
    function http_ozet_cozumle($metin)
    {
        // eksik veriye karşı koruma
        $gerekli_kisimlar = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1,
                                  'username'=>1, 'uri'=>1, 'response'=>1);
        $veri = array();
        $keys = implode('|', array_keys($gerekli_kisimlar));
    
    
        preg_match_all('@(' . $keys . ')=(?:([\'"])([^\2]+?)\2|([^\s,]+))@',
                        $metin, $eslesen, PREG_SET_ORDER);
    
        foreach ($eslesen as $m) {
            $veri[$m[1]] = $m[3] ? $m[3] : $m[4];
            unset($gerekli_kisimlar[$m[1]]);
        }
    
        return $gerekli_kisimlar ? false : $veri;
    }
    ?>
    Benim istediğim şey bu kod ile ilgili
    Kod:
    $kullanicilar = array('yonetici' => 'gizlisifre', 'misafir' => 'misafir');
    bu kısımdaki verileri PDO ile veritabanından çekip öyle giriş yapması ben bunu nasıl yaparım ?
     
  2. Harmless

    Harmless Kurucu

    Mesaj:
    214
    Alınan Beğeniler:
    162
    <?php
    $host="localhost";
    $db="mydb";
    $user="user";
    $pass="123456";
    [email protected]_connect($host,$user,$pass) or die("Mysql Baglanamadi");

    mysql_select_db($db,$conn) or die("Veritabanina Baglanilamadi");
    mysql_set_charset('latin5',$conn);
    ?>
    <?php

    include("ayarlar.php");
    ob_start();
    session_start();

    $kadi = $_POST['kadi'];
    $sifre = $_POST['sifre'];

    $sql_check = mysql_query("select * from uyeler where username='".$kadi."' and password='".$sifre."' ") or die(mysql_error());

    if(mysql_num_rows($sql_check)) {
    $_SESSION["login"] = "true";
    $_SESSION["user"] = $kadi;
    $_SESSION["pass"] = $sifre;
    header("Location:admin.php");
    }
    else {
    if($kadi=="" or $sifre=="") {
    echo "<center>Lutfen kullanici adi ya da sifreyi bos birakmayiniz..! <a href=javascript:history.back(-1)>Geri Don</a></center>";
    }
    else {
    echo "<center>Kullanici Adi/Sifre Yanlis.<br><a href=javascript:history.back(-1)>Geri Don</a></center>";
    }
    }

    ob_end_flush();
    ?>
    Şu şekil yapmalısın.Ve giriş kısmınıda ayarlar.php'ye uyarlamalısın.Kolay gelsin.
     
  3. YaaKod

    YaaKod Onursal Üye

    Mesaj:
    37
    Alınan Beğeniler:
    15
    Uzmanlık Alanları:
    PHP
    Dostum ben pdo diyorum sen bana mysqli veriyorsun
     
  4. Harmless

    Harmless Kurucu

    Mesaj:
    214
    Alınan Beğeniler:
    162
    PDO ile bu şekilde çekebilirsin
    Kod:
    $veri= $conn->query("SELECT * FROM kullanicilar WHERE ID=1")->fetch(PDO::FETCH_ASSOC);
      echo $veri['kull_adi'];
    $conn yerine mysql bilgilerine hangi değeri verdiysen onla değiştir yada direk bunu kullan.
    Kod:
    <?PHP
    
      $servername = "localhost";
      $username = "user";
      $password = "sifre";
      $dbname = "Veritabani";
      try {
          $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
          $conn->exec("SET CHARACTER SET utf8");
          $conn->query("SET NAMES 'utf8'");
          $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
          echo "Bağlantı Başarılı....<br />";
        }
      catch(PDOException $e)
        {
          echo "Bağlantı Hatası: " . $e->getMessage()."<br />";
        }
    ?>
     

Bu Sayfayı Paylaş

Share