• 28-08-2019, 16:00:58
    #1
    Sa öncelikle saatlerdir kod yazıyorum bir noktada tıkandım olayı çözemedimde. Çok basit bir yapısı var . Scriptimde şifre degiştirme kısmı var. Kişi şifresini degiştirirken eski şifresini istiyorum sonra veritabanındaki eski şifreyle karşılaştırıyorum dogru ise yeni şifreyi update ettiriyorum. B
    Her şey normal olmasına ragmen hatayı göremiyorum.

    Müsait olan arkadaş varsa tw vereyim discorttan anlatıyım.
    Yazılım için discord adresi: https://discord.gg/S6mByw8

    function sifredegis(){  
     global $db;    //echo md5(sha1(md5("admin")))."<br>";  
      if ($_POST):        $buton7=htmlspecialchars($_POST["buton7"]);  
      if ($buton7): 
           $ad=htmlspecialchars($_POST["ad"]);
            $eski=$_POST["eski"];    
        $yeni=htmlspecialchars($_POST["yeni"]);     
       $eskin=md5(sha1(md5($eski)));   
         $yenin=md5(sha1(md5($yeni)));      
      echo $eskin."<br>";     
       $sk="select * from yonetim where sifre=$eskin";   
         $cevap8=$db->prepare($sk);   
         $cevap8->execute();  
          echo $cevap8->rowCount();    
        if ($cevap8->rowCount()!=0):        
        $ss="update yonetim set sifre='$yenin' where kulad='$ad' and sifre='$eskin'";    
        $this->genelSorgu($ss);        
        $this->uyari("success","Şife degiştmiştir","control.php?islem=sifredegis");      
          else:        
        $this->uyari("danger","eski şifre yanlış","control.php?islem=sifredegis");        
        endif;   
     else:       
     $this->uyari("danger","!!!Yasal Yollardan Gelmediniz!!!","control.php?islem=sifredegis"); 
       endif;  
      else:  
      echo '<form action="control.php?islem=sifredegis" method="POST">            
           <label class="form-control-label">Kullanıcı adı</label>                
       <input type="text" name="ad" class="form-control" value="" >         
              <label class="form-control-label">Eski sifre</label>               
        <input type="text" name="eski" class="form-control" value="" >       
                <label class="form-control-label">Yeni şifre</label>                 
      <input type="text" name="yeni" class="form-control" value="" >              
         <input type="submit" value="Degistir" name="buton7" class="btn btn-success">                        
              </form>';    endif;}
  • 28-08-2019, 16:02:33
    #2
    şunu düzgün bir şekilde yazarsanız soruna bakabilirim
  • 28-08-2019, 16:05:26
    #3
    eski şifre için sorgu yapmana gerek yok ki
    update tbl_kullanicilar set sifre=$yenisifre where kullaniciadi=$user and sifre=$eskisifre

    yaparsın kullanıcı adı ve gönderdiği eski şifre doğru ise update eder zaten.
  • 28-08-2019, 16:05:57
    #4
    orcuntuna adlı üyeden alıntı: mesajı görüntüle
    şunu düzgün bir şekilde yazarsanız soruna bakabilirim
    düzgün derken hocam?



    gencbeyin adlı üyeden alıntı: mesajı görüntüle
    eski şifre için sorgu yapmana gerek yok ki
    update tbl_kullanicilar set sifre=$yenisifre where kullaniciadi=$user and sifre=$eskisifre

    yaparsın kullanıcı adı ve gönderdiği eski şifre doğru ise update eder zaten.
    anladımda hocam ama yazım şeklinde bir hatam yok formdan gelen eski şifre ile veritabanındaki şifre örtüşüyorsa rowCount() metodundan 0 dan farklı bir değer dönecektir ve update işlemini yaptıracam. Bir türlü çalışmadı ne yaparsam yapayım.
  • 28-08-2019, 16:08:47
    #5
    zeytin8899 adlı üyeden alıntı: mesajı görüntüle
    düzgün derken hocam?





    anladımda hocam ama yazım şeklinde bir hatam yok formdan gelen eski şifre ile veritabanındaki şifre örtüşüyorsa rowCount() metodundan 0 dan farklı bir değer dönecektir ve update işlemini yaptıracam. Bir türlü çalışmadı ne yaparsam yapayım.
    bütün kodlar yan yana duruyordu düzelmiş şuan