gpt4 book ai didi

php - 登录和密码更改 PHP 和 MYsql

转载 作者:行者123 更新时间:2023-11-30 21:52:30 25 4
gpt4 key购买 nike

我正在编写一个简单的脚本,允许用户在数据库中创建帐户和更改密码。我遇到的唯一问题是创建一个允许用户更改密码的脚本。它不会在我的数据库中更新。我收到成功的消息,但它没有在数据库中更新。请帮助我任何建议,将不胜感激如果需要更多详细信息,请告诉我?

            <form method="POST">
old:<input type="text" name="old_pass">
new:<input type="text" name="">
conf:<input type="text" name="">
<input type="submit" name="submit" value="save">
</form>
<?php

$conn_db = mysqli_connect("localhost","root","","oz");
if(!$conn_db)
{
echo "not connect";
}
echo "connect".mysqli_error($conn_db);

SESSION_START();
if($_SERVER['REQUEST_METHOD']=="POST")
{
if(isset($_POST['submit']))
{

$old_pass=$_POST['old_pass'];
$new_pass=$_POST['new_pass'];
$re_pass=$_POST['re_pass'];
$chg_pwd=mysqli_query($conn_db,"SELECT * FROM admin WHERE email='$email'");
$chg_pwd1=mysqli_fetch_array($chg_pwd);
$data_pwd=$chg_pwd1['pass'];
if($data_pwd==$old_pass){
if($new_pass==$re_pass){
$update_pwd=mysqli_query($conn_db,"UPDATE admin SET pass='$new_pass' where email='$email'");

echo "<script>alert('Update Sucessfully'); window.location='index.php'</script>";
}
else{
echo "<script>alert(`Your new and Retype Password is not match`); window.location='index.php'</script>";
}
}
else
{
echo "<script>alert(`Your old password is wrong`); window.location='change.php'</script>";
}}
}
?>

最佳答案

  1. 您收到成功消息是因为您实际上并未检查更新是否成功。您只是在检查密码是否匹配:if($new_pass==$re_pass)

  2. 您永远不会定义 $email,因此您的 WHERE 子句会生成一个空数据集。

尝试定义 $email,例如:$email = $_POST['email'] 并在检查结果的 if 语句中移动警报和重定向查询的

if(mysqli_query($conn_db,"UPDATE admin SET pass='$new_pass' where email='$email'")) {
echo "<script>alert('Update Sucessfully'); window.location='index.php'</script>";
}

注意:

  1. 您不应以纯文本形式存储密码。
  2. 在查询中运行输入之前,您应该安全地转换所有输入,以防止 SQL 注入(inject)。

关于php - 登录和密码更改 PHP 和 MYsql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46627045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com