![](/img/trans.png)
[英]How to properly Insert javascript variable to mysql database using ajax
[英]Post/Insert javascript variables to mySQL database table - presumably with ajax &/or jquery - How?
我在下面张贴我的表格。 下面表格中的变量“e”应该是同一页面上表格单元格的内容。 下面的部分位于名为 insert.php 的文件中。 如何将 var e 放入 mysql 中?
在谷歌(和这个网站)上已经有很多关于这个问题的答案,其中的代码没有指定要替换什么,用什么,在代码中的哪些位置,以及代码 go 的文件。帮助我们新手具体来说,下面的代码似乎是一个标准? 我和其他人将如何修改此代码以使用变量。 Var e 是同一页面上表格单元格的内容。
谢谢!
var e = document.getElementById("ItemName1").innerHTML);
<form action="insert.php" method="post">
<input type="hidden" name="save_name" value=e>
<input type=image
onmouseover='this.src="http://www.mysite.com/images/MouseOver.png"'
onmouseout='this.src="http://www.mysite.com/images/MouseOut.png"'
src="http://www.mysite.com/images/MouseOut.png">
</form>
<html>
<head>
</head>
<body>
<?php
$con = mysql_connect("localhost","removed for now","removed for now");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("removed for now", $con);
$sql="INSERT INTO Temp_Name (item_name) VALUES ('$_POST[save_name]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
echo $sql;
mysql_close($con)
?>
</body>
</html>
更改此行
$sql="INSERT INTO Temp_Name (item_name) VALUES ('$_POST[save_name]')";
至
$name = mysql_real_escape_string($_POST['save_name']);
$sql="INSERT INTO Temp_Name (item_name) VALUES ('$name')";
并阅读更多关于SQL 注射液的信息
在真实情况下,请不要回显您的查询字符串
要使用 javascript 获取输入值,请执行以下操作
<input type="hidden" name="save_name" id="input1" value="e">
javascript:
var value = document.getElementById("input1").value;
首先,您的 Javascript 有一个无与伦比的右括号,我不得不假设这是偶然的。 修正版:
var e = document.getElementById("ItemName1").innerHTML;
要将此变量的内容设置为隐藏文本字段的值,您应该(在页面加载时)执行以下操作:
document.getElementById("hiddenelement").value=e;
然后将表单的隐藏元素更改为:
<input type="hidden" name="save_name" id="hiddenelement">
至于您的 mySQL 查询,您现在拥有的是非常危险的。 您正在执行一个未转义的查询,其中包含来自客户端的文本。
请阅读称为SQL 注入的漏洞
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.