Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 更新密码不起作用_Php_Html_Mysql_Sql - Fatal编程技术网

Php 更新密码不起作用

Php 更新密码不起作用,php,html,mysql,sql,Php,Html,Mysql,Sql,我目前正在处理一个PHP文件,这是一个管理员,有权更新用户帐户的密码,该密码包含散列,但它目前不工作,并且在数据库中更新。我试图寻找问题,但没有这样做,一点帮助将不胜感激。这是我的简单代码 edit-accounts-process.php: <?php $connect=mysqli_connect('localhost','root','','report_generation'); if(isset($_POST['submit'])) { $id = $_POST

我目前正在处理一个PHP文件,这是一个管理员,有权更新用户帐户的密码,该密码包含散列,但它目前不工作,并且在数据库中更新。我试图寻找问题,但没有这样做,一点帮助将不胜感激。这是我的简单代码

edit-accounts-process.php:

<?php
$connect=mysqli_connect('localhost','root','','report_generation');

if(isset($_POST['submit'])) {
        $id = $_POST['id'];
        $username = $_POST['username'];
        $password= $_POST['password']; 
        $login_name = $_POST['login_name']; //full name of the user

        $query = "UPDATE dim_login set username = '$username', password = md5('$password'), login_name = '$login_name', where id = '$id'";

        mysqli_query($connect, $query);
        header( "Location: user-account.php" ); die;
        echo "<script>window.open('user-account.php','_self')</script>";
} ?>
请使用更新的功能创建密码,这样更安全、更好


login\u name='$login\u name',
<删除
WHERE

之前的最后一个
逗号,首先,如果使用sql检查器测试查询,您将得到一个错误。(此处示例:)

结果查询在where子句之前有一个逗号

"UPDATE dim_login set username = 'xxx', password = md5('xxx'), login_name = 'xxx', where id = '1'"
这是正确的

"UPDATE dim_login set username = 'xxx', password = md5('xxx'), login_name = 'xxx' where id = '1'"
其次,您确定必须将
id
字段视为字符串吗


第三,检查
是否设置($\u POST['submit'])
的目的是什么

此外,我强烈建议对用户输入进行一些转义,为了防止SQL注入,必须使用
mysqli\u real\u escape\u string
。为了解决这个问题,我已经找了好几个小时了!非常感谢你帮我注意到这个简单的错误@GrowingBrick是的,这也是!:)我会的,现在这是一个简单的脚本。谢谢你们两位的帮助。顺便说一句,请参阅和等。SQL注入和MD5哈希?你真的在为所有的坏习惯打勾。
"UPDATE dim_login set username = 'xxx', password = md5('xxx'), login_name = 'xxx' where id = '1'"