
本文介绍如何将前端javascript获取的图片url安全地保存到php的mysql数据库中。 前端使用uploader上传组件,上传成功后,通过json.stringify(response.imgurl)获得图片url。 由于php运行于服务器端,javascript运行于客户端,直接访问div中的url不可行,因此需要借助表单提交机制。
解决方案:利用隐藏表单域传递数据。
步骤一:修改JavaScript代码
不再将图片URL追加到div,而是赋值给隐藏的input表单元素:
uploader.on('uploadSuccess', function(file, response) {
$('#imgs_url').val(response.imgurl);
});
步骤二:添加隐藏表单元素
立即学习“PHP免费学习笔记(深入)”;
在HTML表单中添加隐藏的input元素:
id="imgs_url" 和 name="imgs_url" 与JavaScript代码保持一致。 JavaScript代码将图片URL赋值到该input元素。
步骤三:PHP代码 (upload.php)
PHP代码接收并处理图片URL,并将其保存到数据库:
prepare($sql);
$stmt->bind_param("s", $imgUrl);
$stmt->execute();
$stmt->close();
$conn->close();
// 跳转到显示图片的页面
$next_page = "show_image.php?img_url=" . urlencode($imgUrl);
header("Location: $next_page");
?>
这段PHP代码使用了预处理语句 (prepare 和 bind_param) 来防止SQL注入漏洞,这是非常重要的安全措施。 代码连接数据库,执行插入操作,并将图片URL传递给show_image.php页面。 urlencode() 函数对URL进行编码,确保特殊字符的正确处理。
通过以上步骤,即可安全地将JavaScript获取的图片URL传递给PHP,并保存到MySQL数据库。 请务必替换示例代码中的数据库连接信息,并确保处理好数据库连接和SQL注入问题,以保证代码的安全性和可靠性。











