检查用户密码并创建新密码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了检查用户密码并创建新密码相关的知识,希望对你有一定的参考价值。

我试图制作一个脚本,所以我对此有一点问题。我有旧密码< - 想要在mysqli中查看它是否相同,然后创建新密码。

这工作,但我有检查密码的问题,当我把相同的密码我再次显示此密码不正确..任何帮助?我的剧本

<?php 
if(isset($_POST['ilkm_save_password']))
{
$old_password = mysqli_real_escape_string($con, $_REQUEST['ilkm_old_password']);
$old2_password_control = mysqli_real_escape_string($con, $_SESSION['password']);
$password1 = mysqli_real_escape_string($con, $_REQUEST['ilkm_new_password']);
$password2 = mysqli_real_escape_string($con, $_REQUEST['ilkm_repeat_new_password']);
$username = mysqli_real_escape_string($con, $_SESSION['username']);

if($old_password <> $old2_password_control){
    echo "<h5><i class='icon icon-info-circle'></i> <b>Girdiğiniz Mevcut Şifre Yanlış, Lütfen Mevcut Şifrenizi Kontröl Edin!<b></h5>";
}
else if ($password1 <> $password2)
{
    echo "<h5><i class='icon icon-info-circle'></i> Şifreler Uyuşmuyor!</h5>";
}else if($password1 == 0){
echo "Lutfen Bir Yeni Sifre Girin!";
}else if($password2 == 0){
echo "Lutfen Sifreyi Tekrarlayin!";
}
else if (mysqli_query($con, "UPDATE ilkmoon_users SET password='".md5($password1)."' WHERE username='$username'"))
{
    echo "<h5><i class='icon icon-info-circle'></i> Şu anda giriş yaptığınız yer hariç, Diğer Bilgisayarlardan, Telefonlardan, Tabletlerden ve profile giriş yaptığınız her yerden çıkış yapıldı!.</h5>";
    header( "Refresh:3; url=".ilkm_site_link."/ilkm-user-cp", true, 303);
}
else
{
    mysqli_error($con);
}
mysqli_close($con);

}

?>
<form method="post" enctype="multipart/form-data">
        <label><i class="icon icon-lock"></i> Mevcut Şifre &#x21B4;</label> 
        <input type="password" name="ilkm_old_password" class="form-control"  />
        <br />
        <label><i class="icon icon-lock"></i> Yeni Şifre &#x21B4;</label>   
        <input type="password" name="ilkm_new_password" class="form-control"  />
        <br />
        <label><i class="icon icon-lock"></i> Yeni Şifreyi Tekrarla &#x21B4;</label>    
        <input type="password" name="ilkm_repeat_new_password" class="form-control"  />
        <br />
        <center><button type="submit" name="ilkm_save_password" class="btn btn-sm btn-success"><i class="icon icon-lock"></i> Şifreyi Güncelle</button></center>
</form>
答案

感谢所有的锁定:)为我工作:

    <?php
  if(isset($_POST['ilkm_create_new_password'])):
  extract($_POST);
  if($old_password!="" && $password!="" && $confirm_pwd!="") :
  $user_id = $_SESSION['username'];// sesssion id
  $old_pwd=md5(mysqli_real_escape_string($con,$_POST['old_password']));
  $pwd=md5(mysqli_real_escape_string($con,$_POST['password']));
  $c_pwd=md5(mysqli_real_escape_string($con,$_POST['confirm_pwd']));
  if($pwd == $c_pwd) :
  if($pwd!=$old_pwd) :
    $sql="SELECT * FROM `ilkmoon_users` WHERE `username`='$user_id' AND `password` ='$old_pwd'";
    $con_check=$con->query($sql);
    $count=mysqli_num_rows($con_check);
  if($count==1) :
    $fetch=$con->query("UPDATE `ilkmoon_users` SET `password` = '$pwd' WHERE `username`='$user_id'");
    $old_password=''; $password =''; $confirm_pwd = '';
    $msg_sucess = "Şifreniz Başarıyla Güncellendi";
  else:
    $error = '<i class="icon icon-info-circle"></i> Girdiğiniz Mevcut Şifre Yanlış! <hr style="border-radius:70%;border:1px solid #ff0000;" />';
  endif;
  else :
    $error = '<i class="icon icon-info-circle"></i> Eski şifre yeni şifre ile aynı, Lütfen tekrar deneyin. <hr style="border-radius:70%;border:1px solid #ff0000;" />';
  endif;
  else:
    $error = '<i class="icon icon-info-circle"></i> Yeni şifre ve tekrarlanan şifre eşleşmiyor, Lütfen tekrar deneyin. <hr style="border-radius:70%;border:1px solid #ff0000;" />';
  endif;
  else :
    $error = '<i class="icon icon-info-circle"></i> Lütfen tüm alanları doldurun! <hr style="border-radius:70%;border:1px solid #ff0000;" />';
  endif;   
  endif;
?>
<h5>
 <center><?php echo @$error; ?><?php echo @$msg_sucess; ?></center>
</h5>
<form method="post" autocomplete="off" >
<p><i class="icon icon-lock"></i> Mevcut Şifre<br />
 <input type="password" name="old_password" class="form-control"/></p>
<p><i class="icon icon-lock"></i> Yeni Şifre<br />
 <input type="password" name="password"  class="form-control" />
</p>
<p><i class="icon icon-lock"></i> Yeni Şifreyi Tekrarla<br />
 <input type="password" name="confirm_pwd" class="form-control"  />
</p>
<p align="center">
 <button name="ilkm_create_new_password" type="submit" class="btn btn-sm btn-success"><i class="icon icon-info-circle"></i> Şifreyi Güncelle</button>
</p>
</form>

以上是关于检查用户密码并创建新密码的主要内容,如果未能解决你的问题,请参考以下文章

创建新密码的最佳方法是啥?

如何为特定用户实施旧密码和新密码?

如何以管理方式为忘记密码的 ASP.net 身份用户设置新密码?

centos7.6怎么设置允许新密码与用户名相同?

通过覆盖旧密码插入新密码

忘记密码:实现忘记密码功能的最佳方法是什么?