内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用
有人可以帮助我的PHP和jQuery吗?我尝试使用PHP,jQuery和Ajax更改密码。我知道这种方法有点奇怪。但我想更多地了解Ajax,jQuery和PHP。我想在不显示或输入当前密码的情况下更新我的密码。我希望我的文本框为空,如果我输入内容,它将在我的数据库表中更改我的密码。不需要输入我当前的密码。我的问题是它没有更新我的密码。如何更新我的数据库密码?取决于谁登录。
<?php
$conn = new mysqli("localhost", "root", "", "mydb");
if(isset($_POST["btnChange"])) {
$checkUser = $conn->query("SELECT * FROM tbl_user WHERE id= $_SESSION[id]");
if ($checkUser->num_rows > 0) {
$conn->query("UPDATE tbl_user SET password = '$_POST[new_password]' WHERE id= $_SESSION[id]");
echo "Update Successfully!";
}
}
?>
$(document).ready(function(){
$("#btnChange").click(function(){
$.ajax({
url:"insert.php",
method:"post",
data:{btnChange: "", new_password: $("#new_password").val(),},
success: function(data){
alert(data);
}
});
});
});
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script src="changeapasswordjs.js"></script>
<title>Change password</title>
</head>
<body>
<h1>Change password</h1>
<form id="simpleForm">
<div>
<label for="new_password">Your new_password</label>
<input type="password" name="new_password" id="new_password" />
</div>
<br>
<div>
<button id="btnChange">Change password</button>
</div>
</form>
</body>
</html>
要访问数组,键必须是引号,如此['key']
。此外,您可以环绕{}
变量以将其输出到字符串中。
// First query you do
$checkUser = $conn->query("SELECT * FROM tbl_user WHERE id = '{$_SESSION['id']}'");
// Second query you do
$conn->query("UPDATE tbl_user SET password = '{$_POST['new_password']}' WHERE id = '{$_SESSION['id']}'");
您还缺少输出的内容类型,应该在json中编码您的响应:
header('Content-Type: application/json');
echo json_encode("Update Successfully!");
此外,要访问超级变量$_SESSION
,必须先session_start()
访问变量之前使用。
腾讯云区块链TBaaS服务已获国家互联网信息办公室第一批境内区块链信息服务备案,基于TBaaS开发上线后的区块链应用程序建议根据《区块链信息服务管理规定》等有关规定获取备案相关信息。