Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

0
PHP Şifreli oturum açma

Açık 1 Cevaplar 159 Gösterim Php

merhaba, bir forum projem var. Üyeler sisteme giriş yapacaklar. ama bunu şifreli bir şekilde Mysql e kayıt ettirmek istiyorum.

böyle bir kod yazdım ancak çalışmıyor 

 if($_POST){

$name = trim($_POST["name"]);

$sifre = trim($_POST["sifre"]);

$salt = "\xf7\x1a\xa6\xde\x8f\x17v\xa8\x03\x9d2\xb8\xa1V\xb2\xa9>\xddC\x9d\xc5\xdd\xceV\xd3\xb7\xa4\x05J\r\x08\xb0";

$sifre = hash('sha256', hash('sha256', $salt).$sifre);

    if(!$name || !$sifre){

echo '<div class="hata">kullancı adı ve sifre bos bırakılamaz</div>';

}else {

$uye = $db->prepare("select * from users where Username=? and Password=? and uye_onay=?");

$uye->execute(array($name,$sifre,1));

$z = $uye->fetch(PDO::FETCH_ASSOC);

$x = $uye->rowCount();

if($x){

$_SESSION["uye"] = $z["Username"];

$_SESSION["eposta"] = $z["uye_eposta"];

$_SESSION["rutbe"] = $z["uye_rutbe"];

$_SESSION["id"] = $z["PlayerID"];

header("location:index.php");

}elseif($z["uye_onay"] == 0){

echo '<div class="hata">uyeliğiniz onaylanmadı yonetici onayını bekleyin..</div>';

} else {

echo '<div class="hata">uye adı yada sifreniz yanlıs</div>';

}

}

1Yorumlar
(4.4k puan)
Temelde kodun güzel görünüyor. Çalışmıyor derken, nasıl bir hata ya da sonuç alıyorsun?

İki kere hash fonksiyon yapmışsın.

1 cevap

0
  1. Veritabanı bağlantısını yaptığın php dosyası bu dosyaya dahil mi?
  2. Sorguyu Execute ederken verdiğin değerlerin tipleri db'de ki ile aynımı (admin onay integer mi)

Ve db işlemlerini ayrı bir sınıfta method olarak tanımlayıp diğer sayfalarda o metodları çağırarak çalışırsan daha rahat geliştirme yaparsın  ve sorunların azalır

(104 puan)