2

我正在使用 ajax 上传图片..它发生得很好..但问题是我无法通过 ajax 将当前的 album_id 传递到上传脚本所在的 php 页面..有人可以帮忙吗?这是我的代码:

索引.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 传递到其他页面并将其插入到我的数据库中

4

2 回答 2

2
<input type="hidden" name="album-id" value="something" />

使用输入像任何其他值一样传递值。然后在 $_POST 中访问它。

if ( isset($_POST['album-id']) ) {
    $album_id = $_POST['album-id'];
}

然后将其包含在您的 SQL 中。

于 2013-07-26T19:54:40.673 回答
0

您正在使用“POST”将数据发送到 php 文件 (image_send.php)。

您需要使用 $_POST['image_album'] 而不是 $_GET['image_album']。

于 2013-07-26T19:57:22.077 回答