将数据从html文件发送到php并存储在数据库中
我正在将数据从html文件发送到php,但它并没有保存所有的值,而是在数据库中存储为空。我认为它并没有从html中获取值。我正在使用以下代码将数据从html文件发送到php并存储在数据库中,php,html,mysql,Php,Html,Mysql,我正在将数据从html文件发送到php,但它并没有保存所有的值,而是在数据库中存储为空。我认为它并没有从html中获取值。我正在使用以下代码 <html> <body><form action="data.php" method="get"> <input type="text" name="$R1" id="R1" value="John"><br> <input type="text" name="$R2" id="R
<html>
<body><form action="data.php" method="get">
<input type="text" name="$R1" id="R1" value="John"><br>
<input type="text" name="$R2" id="R2" value="thePassword"><br>
<input type="text" name="$R3" id="R3" value="thePassword"><br>
<input type="text" name="$R4" id="R4" value="thePassword"><br>
<input type="text" name="$R5" id="R5" value="thePassword"><br>
<input type="text" name="$R6" id="R6" value="thePassword"><br>
<input type="text" name="$R7" id="R7" value="thePassword"><br>
<input type="text" name="$R8" id="R8" value="thePassword"><br>
<input type="text" name="$R9" id="R9" value="thePassword"><br>
<input type="text" name="$R10" id="R10" value="thePassword"><br>
<input type="text" name="$R11" id="R11" value="thePassword"><br>
<input type="submit">
</form></body>
</html>
PHP代码,用于将数据添加到表中,它只插入空白记录
<?php
$con =
mysql_connect("surveyipad.db.6420177.hostedresource.com","","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("surveyipad", $con);
$device_Id=$_GET['device_Id'];
$R1=$_GET['R1'];
$R2=$_GET['R2'];
$R3=$_GET['R3'];
$R4=$_GET['R4'];
$R5=$_GET['R5'];
$R6=$_GET['R6'];
$R7=$_GET['R7'];
$R8=$_GET['R8'];
$R9=$_GET['R9'];
$R10=$_GET['R10'];
$R11=$_GET['R11'];
echo($R1);
$update_date_time=$_GET['update_date_time'];
$teritory1=$_GET['teritory1'];
$query=("INSERT INTO std (device_Id,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,update_date_time,teritory1)
VALUES
('$device_Id','$R1','$R2','$R3','$R4','$R5','$R6','$R7','$R8','$R9','$R10','$R11','$update_date_time','$teritory1')");
mysql_query($query,$con);
printf("Records inserted: %d\n", mysql_affected_rows());
?>
在中更改名称
到
name=$R1到name=R1,然后重试
=>通过sql注入确保查询的安全性
=>使用mysql\u real\u escape\u字符串
=>mysql_*函数不受欢迎,请使用mysqli_*函数或PDO
=>不重要:如果您没有使用get的具体原因,最好更改method=get to method=POST,在中更改名称
到
name=$R1到name=R1,然后重试
=>通过sql注入确保查询的安全性
=>使用mysql\u real\u escape\u字符串
=>mysql_*函数不受欢迎,请使用mysqli_*函数或PDO
=>不重要:最好更改method=get to method=POST,如果您没有使用get的具体原因,则表单中的name属性不应以$开头:
……等等
您的代码极易被注入。您应该更新它以停止使用,并通过PDO/mysqli正确使用参数化语句
您也不会将update\u date\u time或Territory 1与表单的其余部分一起发送。有什么理由使用“超越岗位”吗?对于非幂等请求,应使用POST。表单中的名称属性不应以$开头:
……等等
您的代码极易被注入。您应该更新它以停止使用,并通过PDO/mysqli正确使用参数化语句
您也不会将update\u date\u time或Territory 1与表单的其余部分一起发送。有什么理由使用“超越岗位”吗?您应该对非幂等请求使用POST。从HTML中的name属性中删除$。更改为name=R1从HTML中的name属性中删除$。更改为name=R1我们可以将此php文件上载到任何服务器,并从html文件中访问它。为什么要这样做?将两个文件保留在同一服务器中,我不认为您可以访问该文件,但您可以将表单操作提交到服务器页面。感谢它工作,而不是显示插入的记录1。我可以显示一个已成功添加的警报,并将其移动到同一html页面吗?我们可以将此php文件上载到任何服务器,然后在html文件中访问它。为什么要这样做?,将这两个文件放在同一台服务器上,我认为您无法访问该文件,但可以将表单操作提交到服务器页面。感谢它工作,而不是显示插入的记录1。我可以显示一个已成功添加的警报,并将其移到同一html页面吗
$query=("INSERT INTO std (device_Id,R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,update_date_time,teritory1)
VALUES
('".mysql_real_escape_string($device_Id)."',
'".mysql_real_escape_string($R1)."',
'".mysql_real_escape_string($R2)."',
'".mysql_real_escape_string($R3)."',
'".mysql_real_escape_string($R4)."',
'".mysql_real_escape_string($R5)."',
'".mysql_real_escape_string($R6)."',
'".mysql_real_escape_string($R7)."',
'".mysql_real_escape_string($R8)."',
'".mysql_real_escape_string($R9)."',
'".mysql_real_escape_string($R10)."',
'".mysql_real_escape_string($R11)."',
'".mysql_real_escape_string($update_date_time)."',
'".mysql_real_escape_string($teritory1)."')");
<input type="text" name="R1" id="R1" value="John">