我使用ajax上传图片..它发生得非常好..但问题是我无法将当前的album_id通过ajax传递到php页面,其中上传脚本就在那里。任何人都可以帮忙吗?这是我的代码:
的index.php
$(function () {
$('body').on('click', '.upload', function(){
var form = new FormData($('#myform')[0]);
$.ajax({
url: 'image_send.php',
type: 'POST',
success: function (r) {
$('.container').html(r);
},
data: form,
cache: false,
contentType: false,
processData: false
});
});
});
<div id="image_upload_form">
<form enctype="multipart/form-data" id="myform">
<input type="file" accept="image/*" multiple name="image[]" id="image" />
<input type="button" value="Upload images" class="upload" />
</form>
我使用$ album_id = @ $ _ GET ['image_album']获取当前相册ID;
我的php代码:image_send.php
foreach($_FILES['image']['tmp_name'] as $key => $tmp_name ){
if(((@$_FILES['image']['type'][$key] == 'image/jpeg') ||
(@$_FILES['image']['type'][$key] == 'image/jpg') ||
(@$_FILES['image']['type'][$key] == 'image/png') ||
(@$_FILES['image']['type'][$key] == 'image/tif') ||
(@$_FILES['image']['type'][$key] == 'image/tiff') ||
(@$_FILES['image']['type'][$key] == 'image/gif') ||
(@$_FILES['image']['type'] == 'image/png'))
&& (@$_FILES['image']['size'][$key] < 1073741824)) //10 mb in bytes
{
if(file_exists("image/".@$_FILES['image']['name'][$key])){
echo @$_FILES['image']['name'][$keys]."Already exists";
}
else{
$picture = @$_FILES['image']['name'][$key];
$image_upload_query = mysql_query("INSERT INTO image_upload_public VALUES('','$picture','Here I want to insert the current album_id')");
if($image_upload_query){
move_uploaded_file(@$_FILES['image']['tmp_name'][$key], "image/".$picture);
}
}
我不明白在ajax中我会在哪里插入$ album_id以及如何在我的php页面中获取它...我知道我的脚本对于sql注入是不可思议的..我可以稍后处理..但是暂时我想知道如何将$ album_id传递到另一页并将其插入我的数据库
答案 0 :(得分:2)
<input type="hidden" name="album-id" value="something" />
使用输入传递值与任何其他值一样。然后在$ _POST中访问它。
if ( isset($_POST['album-id']) ) {
$album_id = $_POST['album-id'];
}
然后将其包含在SQL中。
答案 1 :(得分:0)
您正在使用“POST”将数据发送到php文件(image_send.php)。
你需要使用$ _POST ['image_album']而不是$ _GET ['image_album']。