重点只有一个:php如何获取ajax函数传来的data值

重点只有一个:php如何获取ajax函数传来的data值,第1张

$sql="INSERT INTO users (username, psw) VALUES($_POST['username'],$_POST['psw'])";

当然会发生PHP的解析错误。

在php里,把$_POST['username']这种东西放进双引号字符串里,如"hi, $_POST['name']",无法被识别。常见的是"hi, $name",这样可以。

要想实现把$_POST数组中的值插入SQL语句有多种方法。

1PHP的字符串串接 *** 作符即“点”号(注意:sql中字符串要加引号)

$sql = "INSERT INTO users (username, psw) VALUES('"$_POST['username']"','"$_POST['psw']"')";

2

$sql = "INSERT INTO users (username, psw) VALUES('{$_POST['username']}','{$_POST['psw']}')";

3prepared statement。较复杂但是安全。

4字符串格式化函数sprintf

$sql = sprintf("INSERT INTO users (username, psw) VALUES('%s','%s')", $_POST['username'], $_POST['psw']);

提醒:直接向sql语句中插入$_POST数组中的这些值而不经过转义会让网页存在极严重的SQL注入漏洞!解决方法:传统方法是用mysql_real_escape_string,现代方法是用prepared statement。

不懂请追问,。

补充,你的前端似乎还有问题。dataString 里直接插入ousername和opsw可能有问题。可能应该先经过url转义。我记得jquery的ajax可以直接post一个json字典,这样应该更好。

data就是要传递的值,例如:

{变量名1:值1,变量名2:值2}

或者传递一个对象或者数组:

function (data) {

var field = datafield; //获取提交的字段

$ajax({

url: 'postphp'

, type : 'POST'

, data: field

}

以上就是关于重点只有一个:php如何获取ajax函数传来的data值全部的内容,包括:重点只有一个:php如何获取ajax函数传来的data值、关于ajax data参数问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9874201.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存