如何使用ajax,jquery和php更新表中的数据?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (173)

有人可以帮助我的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()访问变量之前使用。

此外,没有任何问题相关,但关键点仍在继续,您的查询倾向于SQL注入,您应该考虑打开错误登录

热门问答

智聆口语评测返回结果里面的评分为0?

1,音频文件要符合16khz采样率16bit位深单声道,如果是mp3文件码率要高于48kbps,否则评分可能会出现偏低或者0 2,VoiceType是否和传入的音频文件一致,文本和音频是否一致. 3,看下sessionId是否在每次评测的时候都是一样的结果导致的   4,在初次...... 展开详请

MGOBE Team Room 和Room 的区别是什么?

推荐已采纳
您好,createRoom 的 teamNumber 为1,如果需要使用不同的teamId区分玩家,可以使用createTeamRoom。roomType这个参数是标志,例如在matchRoom接口就需要输入roomtype作为参数,之后从房间列表中找到 roomType和max...... 展开详请

信鸽推送支持各大厂商的离线推送,点击离线消息怎么做到先启动应用到首页再跳转到要打开的消息界面?

您好,有两种方式实现: 方式一:直接使用默认打开app,然后在receiver里面解析参数再跳转到指定的页面。 方式二:使用intent打开主页面,然后在主页面里面解析参数再跳转到指定的页面。 参考文档配置:https://cloud.tencent.com/document/p...... 展开详请

基于腾讯云区块链平台开发了区块链应用,上线前,还需要提供其它材料备案么?

Nancy WU

腾讯云 · 高级产品经理 (已认证)

腾讯云区块链产品经理,与区块链一同成长,欢迎交流
推荐

腾讯云区块链TBaaS服务已获国家互联网信息办公室第一批境内区块链信息服务备案,基于TBaaS开发上线后的区块链应用程序建议根据《区块链信息服务管理规定》等有关规定获取备案相关信息。

【有奖互动】新年将至,如何过一个技术范的新年?

气象学家气象学家记录气象文献阅读、编程和气象相关资讯。感谢关注!欢迎加入气象AI和Python交流群!
;************************************************* ; Happy_new_year_2021.ncl ;************************************************ ; ; Concepts ...... 展开详请

Linux系统加了弹性网卡却不能从外部访问?

推荐
回答来自于问答智囊团成员:Htroy 专栏:https://cloud.tencent.com/developer/column/89781 为了给云服务器增加一个外网IP,实现单主机多 IP 部署,或者在一个CVM上接入到多个私有网络中,我们可以通过绑定弹性网卡的方式实现。...... 展开详请

扫码关注云+社区

领取腾讯云代金券