PDO´da üye girişi yapmak.

dkuscu123 dilek kıran

merhaba arkadaşlar PDO ya yeni başladım. üye girişi yapmak istiyorum yanı kullanıcı adını ve sifresini girdiğinde anasayfaya gitsin istiyorum kod yazdım ama sanırsam eksik var acaba yardımcı olabilir misiniz?

<?
include'baglanti.php';
$USERNAME = $_POST["USERNAME"];
 $PASSWORD = $_POST["PASSWORD"];
$bak= $db->prepare('SELECT * FROM kullanicilar WHERE username = ? AND password = ?');
$bak=$bak-> execute(array($USERNAME, $PASSWORD  ));
$db = $db->fetchAll(PDO::FETCH_ASSOC);


if($db )


{
 return true;
   }
   return false;

10-10-2014 05:24

    Php

    badyguard14 Hilmi BORAN

    Tekrar merhaba :)

    Size iki fonksiyon veriyorum işinizi görmesi için;
    Değiştirmeniz gereken kısım $this->_DBH   kısmı bunun yerine initiate ettiğiniz pdo değişkeni gelecek.

    Kullanımı çok basit;
    Crud dediğimiz veri işleme sorguları için exec kullanırsınız.(CRUD=create,replace,update,delete)

    $last_id=exec("insert into uyeler set adi=:adi,no=:numara",array(
    "adi"=>"hilmi",
    "numara"=>100
    ));

    Select sorguları için query kullanırsınız.
    $result=query("select * from uyeler where no=:numara",array(
    "numara"=>100
    ));

    İyi çalışmalar.

     

    /**
    * Sorgu yazmak için kullanılır.
    * @param string $sql sorgu cümlesi
    * @param array $bindings parametre ve değer eşlemeleri
    * @param statement $return_resultset isteğe bağlı statement
    * @return array sql'den dönen data
    */
    public function query($sql, $bindings = array(), $return_resultset = false) {
    $statement = $this->_DBH->prepare($sql);
    if (count($bindings)) {
    foreach ($bindings as $binding => $value) {
    if (is_array($value)) {
    $first = reset($value);
    $last = end($value);
    // Cast the bindings when something to cast to was sent in.
    $statement->bindParam($binding, $first, $last);
    } else {
    $statement->bindValue($binding, $value);
    }
    }
    }
    $statement->execute();
    if ($return_resultset) {
    return $statement; // Returns a foreachable resultset
    } else {
    // Otherwise returns all the data an associative array.
    return $statement->fetchAll(PDO::FETCH_ASSOC);
    }
    }
    /**
    * CRUD sqli yazmak için kullanılır
    * @param string $sql CRUD işlemi cümleciği
    * @param array $bindings parametre ve değer eşlemeleri
    * @return int sql'den dönen sonuç satır sayısı veya son eklenen id
    */
    public function exec($sql, $bindings = array()) {
    $statement = $this->_DBH->prepare($sql);
    if (count($bindings)) {
    foreach ($bindings as $binding => $value) {
    if (is_array($value)) {
    $first = reset($value);
    $last = end($value);
    // Cast the bindings when something to cast to was sent in.
    $statement->bindParam($binding, $first, $last);
    } else {
    $statement->bindValue($binding, $value);
    }
    }
    }
    if ($statement->execute()) {
    if ($this->_DBH->lastInsertId() != 0) {
    return $this->_DBH->lastInsertId();
    } else {
    return $statement->rowCount();
    }
    }
    }

     

    10-10-2014 12:43 Edit:10-10-2014 12:53

      Php

      PDO kullanmıyorum, ama genel olarak şu mantıkla gidersen sıkıntı yaşamazsın.

      1-veritabanından tek satır çekmeyi dene, olursa aşağı git.

      2-veritabanı sorguna WHERE ekleyerek seçilen değeri çağır.

      3- POST değerlerini filtreleyerek onu kullan. örnek:
         $kullanici = htmlspecialchars($_POST[nick])

      Her programcı birgün Php yi tadacaktır
      12-10-2014 10:48

        PDO üye girişi

        dkuscu123 dilek kıran

        Merhaba arkadaşlar biraz geç cevap verdim kusura bakmayın sorunu bu şekilde çözdüm belki birilerinin işine yarar teşekkürler :)

        <?

        error_reporting(E_ALL & ~E_NOTICE);

        $USERNAME =$_POST[ 'USERNAME'];

        $PASSWORD =$_POST['PASSWORD']; 

        if (empty($USERNAME) or empty($PASSWORD) ){

        echo"bos alanlari doldur";

        }else {

        include'baglanti.php';

         

        $ekle = $db -> prepare ('INSERT INTO kullanicilar (USERNAME,PASSWORD) VALUES (?,?)');    

        $bak=$ekle-> execute(array($USERNAME, $PASSWORD  )); 

         

        $hata = $ekle->errorInfo();    

        echo empty($hata[2]) ? "KAYIT ISLEMINIZ GERCEKLESTI." : $hata[2]; }

         ?>

        24-10-2014 07:11

          www.Phpkodlari.com © 2009 Herkes Php öğrenecek
          Web tasarım ve eğitim kaynağınız.