php - jQuery-File-Upload mysql select 显示所有文件,而不仅仅是用户的文件

标签 php jquery mysql jquery-file-upload

欢迎,

我对 jQuery-File-Upload 有疑问。我将插件与 MySQL 集成 -> https://github.com/blueimp/jQuery-File-Upload/wiki/PHP-MySQL-database-integration当我将文件添加到数据库中时,添加了记录:name file, id_user, active... 添加的很好。

加载我的网站时,加载的是列表上传的文件:https://stackoverflow.com/a/15448692/2788495

我只想加载当前加载所有的用户文件。

jQuery 代码:

    $.ajax({
// Uncomment the following to send cross-domain cookies:
//xhrFields: {withCredentials: true},
url: $('#fileupload').fileupload('option', 'url'),
    dataType: 'json',
    context: $('#fileupload')[0],
    formData:{
        user: '<?php echo $objSession->e_ident ?>'
    }
}).done(function (result) {
    $(this).fileupload('option', 'done')
        .call(this, null, {result: result});
});

PHP:

protected function handle_form_data($file, $index) {
    $file->title = @$_REQUEST['title'][$index];
    $file->description = @$_REQUEST['description'][$index];
    $file->user=@$_REQUEST['user'];
}
    protected function set_additional_file_properties($file) {
    parent::set_additional_file_properties($file);
    if ($_SERVER['REQUEST_METHOD'] === 'GET') {
        $sql = 'SELECT `id`,`user_id` FROM `'
            .$this->options['db_table'].'` WHERE `name`=? and user_id=?';
        $query = $this->db->prepare($sql);
        $query->bind_param('ss', $file->name, $file->user);
        $query->execute();
        $query->bind_result(
            $id,
            $user
        );
        while ($query->fetch()) {
            $file->id = $id;
            $file->user=$user;
        }
    }
}

在 JSON 中,没有选项:“id”和“user”。

最佳答案

不知道我理解的对不对

我相信您要显示其上传文件的用户已通过 session 登录到您的系统,是吗?

这个“$objSession->e_ident”有用户id。

如果我是对的,你应该删除这个:

"user: '<?php echo $objSession->e_ident ?>'" 从 ajax 请求中,用户 id 之类的东西应该只在服务器 session 文件中,而不是在页面上。

您应该将用户 ID 直接放在查询绑定(bind)上,如下所示: $query->bind_param('ss', $file->name, $objSession->e_ident);

现在您的问题是,您的查询看起来是正确的,$objSession->e_ident 是否真的为用户提供了正确的 ID?

到数据库中 user_id 列有哪些值?

关于php - jQuery-File-Upload mysql select 显示所有文件,而不仅仅是用户的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25283699/

相关文章:

php - Symfony 4 启动 session

jQuery 提交错误的表单数据

python - 如何将使用 Beautifulsoup 抓取的数据移动到 MySQL 数据库?

php - 发送一个 php 变量到 onclick 事件

php - 将多维数组分解为 PHP 中的单个逗号分隔列表

php - 使用构造函数初始化变量的正确方法

javascript - 将具有相同类的 DIV 加载到模态对话框中

javascript - jQuery toggleClass 只切换一次

MySQL查询以获取唯一值的计数?

c# - 如果行存在则执行更新,否则执行插入