dswsl2016 2016-01-21 16:45
浏览 52

我换了($ newPassword到$ new),仍然是数据库中的空! :(,[重复]

`password is updating with empty value! old password is replaced with empty value!!

$email = $_POST['email'];
$password = $_POST['password']; //old password
$new = $POST['new']; //new password

//table name is users
$stmt = $db->prepare("SELECT * FROM users WHERE email=:email_id");

//checking email and password

$stmt->execute(array(":email_id"=>$email));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if(($userRow['email'] === $email)&&($userRow['password'] === $password))
{

$doneQuery = $db->prepare("
UPDATE users
SET password = :new

WHERE email = :emailid" );

$doneQuery->execute([":newPassword"=>$new,
":emailid"=>$email]);
}


  • 写回答

1条回答 默认 最新

  • dongmu3269 2016-01-21 16:47
    关注

    You are updating your database using $newpassword but you declare it at the top as $new, thus meaning if is a empty variable and entering it blank You also missed the under score from the post So change

    $new = $POST['new'];
    

    To

    $newPassword = $_POST['new'];
    
    
    $email = $_POST['email']; $password = $_POST['password']; //old password         $newPassword= $_POST['new']; //new password //table name is users $stmt = $db->prepare("SELECT * FROM users WHERE email=:email_id"); //checking email and password $stmt->execute(array(":email_id"=>$email)); $userRow=$stmt->fetch(PDO::FETCH_ASSOC); if(($userRow['email'] === $email)&&($userRow['password'] === $password)) { $doneQuery = $db->prepare(" UPDATE users SET password = :newPassword WHERE email = :emailid" ); $doneQuery->execute([":newPassword"=>$new, ":emailid"=>$email]); }
    
    评论

报告相同问题?

悬赏问题

  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)