如何將這兩個變數發送到 ajax 中,用于在 upload.php 頁面中使用。
我就是這樣試的。
<?php
if (!isset($_GET['lcid']) || $_GET['lcid'] == NULL) {
echo "<script>window.location = 'insurt-documents.php';</script>";
} else {
$id = $_GET['lcid'];
}
?>
var error_images = '';
var form_data = new FormData();
var files = $('#multiple_files')[0].files;
if(files.length > 15)
{
error_images = 'You can not select more than 15 files';
}
else ............
但相關代碼是...
var id = "<?php echo $id ?>";
$.ajax({
url:"upload.php",
// data: {id, form_data},
data: {id : id, form_data},
method:"POST",
contentType: false,
cache: false,
processData: false,
beforeSend:function(){
$('#error_multiple_files').html('<br /><label class="text-primary">Uploading...</label>');
},
success:function(data)
{
$('#error_multiple_files').html('<br /><label class="text-success">Uploaded</label>');
load_image_data();
}
});
upload.php 的一些代碼
$id = $_POST['id'];
$query = "
INSERT INTO tbl_image (postid, image_name, image_description)
VALUES ('".$id."', '".$file_name."', '')
";
有我的作品,但它沒有運行。請有人糾正我。謝謝你。
uj5u.com熱心網友回復:
data: {id : id, form_data}沒有意義。你不應該把一個FormData物件放在一個物件中,這個物件在發送到服務器時會被字串化,因為你已經設定processData為false. 它將簡單地輸出[object Object]到服務器(演示:https : //jsfiddle.net/qe1o352p/ - 在瀏覽器中觀看網路工具以查看)。
更復雜的是,您甚至還沒有在物件內部命名 formdata 屬性,因此 PHP 將無法找到任何 FormData 并將其放入$_POST或$_FILES陣列。
相反,將id作為屬性添加到 FormData 物件會更有意義:
var form_data = new FormData();
form_data.append("id", "<?php echo $id ?>");
...
$.ajax({
url:"upload.php",
data: form_data,
...
作業版本的演示:https : //jsfiddle.net/qe1o352p/1/(再次觀看網路工具并查看與原始版本相比的差異。)
另請參閱https://stackoverflow.com/a/10811427/5947043以供參考。
PS警告:您的 PHP/mysqli 代碼容易受到 SQL 注入攻擊。您應該使用引數化查詢和準備好的陳述句來幫助防止攻擊者使用惡意輸入值破壞您的資料庫。http://bobby-tables.com給出了風險的解釋,以及一些如何使用 PHP / mysqli 安全地撰寫查詢的示例。切勿將未經處理的資料直接插入您的 SQL。按照您現在撰寫代碼的方式,有人可以輕松竊取、錯誤更改甚至洗掉您的資料。
https://phpdelusions.net/mysqli還包含使用 mysqli 撰寫安全 SQL 的好例子。另請參閱mysqli 檔案和此:如何防止 PHP 中的 SQL 注入?. 引數化您的查詢也將大大降低由于未轉義或錯誤參考的輸入值而導致的意外語法錯誤的風險。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/347666.html
下一篇:jQueryajax呼叫getAPI回傳Task<ActionResult<List<ApiObject>>>不斷收到500錯誤回應
