duanfei9278 2014-02-15 05:16
浏览 50
已采纳

在php中更改没有当前密码字段的密码

In the Below code i have Current password, new password and repeat new password fields but i don't want current password field to change password.

Note : I want only new password and repeat new password in the form.

<?php
session_start();

$user = $_SESSION['username'];

if (isset($_SESSION['username']))
{
//user is logged in
if (isset($_POST['submit']))
{
//start changing password
//check fields

$oldpassword = md5($_POST['oldpassword']);
$newpassword = md5($_POST['newpassword']);


$repeatnewpassword = md5($_POST['repeatnewpassword']);

//check password against db
include_once "connect_to_mysql.php";

$queryget = mysql_query("SELECT password FROM members WHERE username='$user'") or die ("change password failed");
$row = mysql_fetch_assoc($queryget);
$oldpassworddb = $row['password'];

//check passwords
if ($oldpassword==$oldpassworddb)
{
//check two new passwords
if ($newpassword==$repeatnewpassword)
{
//successs
//change password in db

$querychange = mysql_query("UPDATE members SET password='$newpassword' WHERE   username='$user'");
session_destroy();
die("Your password has been changed. <a href='login.php'> Login Again</a>");
}
else 
die("New password doesn't match!");

}else 
die("Old password doesn't match!");

}
else
{

echo"
<form action='change_password.php' method='POST'>
Old Password: <input type='text' name='oldpassword'><p>
New Password: <input type='password' name='newpassword'><p>
Repeat New Password: <input type='password' name='repeatnewpassword'><p>
<input type='submit' name ='submit' value='submit'>
</form>
";
 }
}else 
die ("You must be logged in to change your password");
?>
  • 写回答

2条回答 默认 最新

  • dongya9904 2014-02-15 05:29
    关注

    Try with this code:

         <?php
            session_start();
    
        $user = $_SESSION['username'];
    
        if (isset($_SESSION['username']))
        {
        //user is logged in
        if (isset($_POST['submit']))
        {
        //start changing password
        //check fields
    
        $newpassword = md5($_POST['newpassword']);
    
    
        $repeatnewpassword = md5($_POST['repeatnewpassword']);
    
        //check password against db
        include_once "connect_to_mysql.php";
    
        $queryget = mysql_query("SELECT password FROM members WHERE username='$user'") or die ("change password failed");
        $row = mysql_fetch_assoc($queryget);
    
    
        //check two new passwords
        if ($newpassword==$repeatnewpassword)
        {
        //successs
        //change password in db
    
        $querychange = mysql_query("UPDATE members SET password='$newpassword' WHERE   username='$user'");
        session_destroy();
        die("Your password has been changed. <a href='login.php'> Login Again</a>");
        }
        else {
        die("New password doesn't match!");
    
        }
        else
        {
    
        echo"
        <form action='change_password.php' method='POST'>
        Old Password: <input type='text' name='oldpassword'><p>
        New Password: <input type='password' name='newpassword'><p>
        Repeat New Password: <input type='password' name='repeatnewpassword'><p>
        <input type='submit' name ='submit' value='submit'>
        </form>
        ";
         }
        }else 
        die ("You must be logged in to change your password");
        ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line