在 blueimp/jquery-file-upload 上向 mysql 插入添加更多自定义变量

2023-12-09

我目前正在通过 mysql 在 blueimp/jquery-file-upload 脚本内插入标题和描述。我用了this但是,我需要添加另一个变量。该变量是当前登录用户的session ID$_SESSION["userid"],我想将其插入到我添加的名为uid。通常,在插入中添加另一列很简单,但是这个脚本非常敏感,每当我弄乱它时,即使是最轻微的一点,我都会得到“SyntaxError: Unexpected token <“。 任何帮助将不胜感激。

/服务器/php/index.php

$options = array(
    'delete_type' => 'POST',
    'db_host' => 'localhost',
    'db_user' => 'fpform_fanuser',
    'db_pass' => '*****',
    'db_name' => 'fpform_fandata',
    'db_table' => 'files'
);

error_reporting(E_ALL | E_STRICT);
require('UploadHandler.php');

class CustomUploadHandler extends UploadHandler {

    protected function initialize() {
        $this->db = new mysqli(
            $this->options['db_host'],
            $this->options['db_user'],
            $this->options['db_pass'],
            $this->options['db_name']
        );
        parent::initialize();
        $this->db->close();
    }

    protected function handle_form_data($file, $index) {
        $file->title = @$_REQUEST['title'][$index];
        $file->description = @$_REQUEST['description'][$index];
    }

    protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
            $index = null, $content_range = null) {
        $file = parent::handle_file_upload(
            $uploaded_file, $name, $size, $type, $error, $index, $content_range
        );
        if (empty($file->error)) {
            $sql = 'INSERT INTO `'.$this->options['db_table']
                .'` (`name`, `size`, `type`, `title`, `description`)'
                .' VALUES (?, ?, ?, ?, ?)';
            $query = $this->db->prepare($sql);
            $query->bind_param(
                'sisss',
                $file->name,
                $file->size,
                $file->type,
                $file->title,
                $file->description,
            );
            $query->execute();
            $file->id = $this->db->insert_id;
        }
        return $file;
    }

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

    public function delete($print_response = true) {
        $response = parent::delete(false);
        foreach ($response as $name => $deleted) {
            if ($deleted) {
                $sql = 'DELETE FROM `'
                    .$this->options['db_table'].'` WHERE `name`=?';
                $query = $this->db->prepare($sql);
                $query->bind_param('s', $name);
                $query->execute();
            }
        } 
        return $this->generate_response($response, $print_response);
    }

}


$upload_handler = new CustomUploadHandler($options);

假设您想要更改 INSERT 查询(您发布的代码中只有一个 INSERT 查询),这就是您需要更改的内容:

if (empty($file->error)) {
    $sql = 'INSERT INTO `'.$this->options['db_table']
            .'` (`name`, `size`, `type`, `title`, `description`, `uid`)'
            .' VALUES (?, ?, ?, ?, ?, ?)';
    $query = $this->db->prepare($sql);
    $query->bind_param(
            'sisss',
            $file->name,
            $file->size,
            $file->type,
            $file->title,
            $file->description,
            $_SESSION['userid']
        );
    $query->execute();
    $file->id = $this->db->insert_id;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 blueimp/jquery-file-upload 上向 mysql 插入添加更多自定义变量 的相关文章

  • Mysql带限制的删除语句

    我试图从表中删除行 但出现错误 DELETE FROM chat messages ORDER BY timestamp DESC LIMIT 20 50 我在 50 时收到此错误 您的 SQL 语法有错误 检查与您的 MySQL 服务器版
  • 如何在bootstrap中默认隐藏侧边栏?

    我在这里有一个很好的参考 作为 Bootstrap 在设计 Web 表单应用程序时的侧边栏 http startbootstrap com template overviews simple sidebar http startbootst
  • MySql 视图脚本中的注释

    可以这样做吗 我尝试过多个 gui mysql workbench navicat toad for mysql 但没有一个保存这样的注释 something important select something else importan
  • 从 php 执行 bash 脚本并立即输出回网页

    我有一组 bash 和 Perl 脚本 开发在 Linux Box 上部署所需的目录结构 可选 从svn导出代码 从这个源构建一个包 这在终端上运行良好 现在 我的客户请求此流程的 Web 界面 例如 某些页面上的 创建新包 按钮将一一调用
  • PHP-docker容器中的环境变量

    我想在我的 docker 容器中显示一个环境变量 PHP 脚本如下所示 我使用 OpenShift 来启动容器 PHP 容器显示 env is 现在我更改容器的 dc 配置 oc env dc envar USER Pieter deplo
  • Composer 无法获取 github

    今天 我尝试通过运行来安装 Laravelcomposer create project laravel laravel 5 1 myproject prefer dist我收到此错误 Could not fetch https api g
  • 如何在php中使用一张图像绘制形状

    我需要使用图像的一部分来创建帧图像 例如 用户将从后端上传图像片段 现在我需要根据前端用户的要求在前端创建一个框架 用户将选择框架的高度和宽度 然后他将选择该图像片段 如下所示 我没有办法做到这一点 我尝试通过 css 和 html can
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 如何使用 jQuery Ajax 将 PHP 数组值传递到另一个文件?

    这是我的代码
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • ACL授权失败后ZF3重定向

    我有一个带有 ACL 的新 ZF3 应用程序 现在 我需要在未经授权的访问的情况下重定向到错误页面 例如 403 我认为最好的方法是触发一个事件 然后捕获它 但我失败了 全部都在我的用户模块中Module php 摘录 namespace
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 如何取消 AjaxForm 上的提交

    我正在使用 jQuery 插件 ajax 形式 我尝试实现这样的东西 MyFormID ajaxForm dataType json resetForm true beforeSubmit function validateData ret
  • 使用 file_get_content 发布数据

    我已经做了一些关于如何使用的研究file get content与帖子 我也读过this one https stackoverflow com questions 2445276 how to post data in php using
  • 为什么这评估为 true

    为什么这评估结果为真
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 通过 Sparkpost 发送 iCal 邀请

    我正在尝试使用 SparkPost 通过电子邮件以附件形式发送日历邀请 但收到电子邮件后邀请不会打开 我使用两个文件 calendarinvite php 来创建邀请 使用 Sendemail php 来发送电子邮件 calendarinv
  • JQuery 删除和内存泄漏

    我正在开发一个游戏 我看到了很多内存消耗 我使用jquery animate 动画完成后 我 remove 元素 我的问题是 从 dom 树中删除一个元素后 对象还存在记忆中吗 Javascript 是一种垃圾收集语言 这意味着当没有代码保

随机推荐

  • 在使用 CefSharp 加载远程 JavaScript 时修改它们?

    我正在构建一个自定义浏览器作为远程网站界面的一部分 他们的 GUI 很糟糕 所以我做了一些 JavaScript 修改来让它看起来更好 目前 为了修改其 UI 我使用以下 GreaseMonkey 脚本 在 Firefox 上 UserSc
  • Python 中的吉他弦代码? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我对 Python 很陌生 但对编写可以模拟吉他弦的代码非常感兴趣 我该怎么做呢 或者至少我该如何开始这样做 任何帮助表示赞赏 谢谢你 EDIT 我想看看演奏不同的琴弦 音符等时
  • 使用 D3 的 Geojson 地图仅渲染要素集合中的单个路径

    我正在尝试绘制哥伦比亚某些地区的 geojson 地图 目前它只显示一条路径 我的特征集有 52 个特征 但我只能绘制这一个特征 我不知道我做错了什么 我的代码基于其他教程 我怎样才能显示所有路径 var features mapData
  • 查找字符串中的多个 url。

    resource THIS IS ABOUT WWW JONAKCOMPUTERS COM HTTP HIGHLOW COM AND TESTINGSERVER1 COM 我想将三个网址提取到另一个类似于以下内容的字符串中 all urls
  • 使用 HTML5 Canvas - 围绕任意点旋转图像

    将表盘旋转到半圆形 北半球 图像作为背景 范围可以是 0 180 度 在输入到进行画布转换的方法时 转盘将旋转并停在匹配的值上 这是我根据传递的帮助和示例尝试的phrogz 一般来说 您想要做的是 将上下文转换为画布上对象应围绕其旋转的点
  • 客户端未处理 .NET Remoting 异常

    我检查了其余的远程处理问题 这个具体案例似乎没有得到解决 我设置了 NET Remoting 服务器 客户端 在服务器端 我有一个带有可以引发异常的方法的对象 以及一个将尝试调用该方法的客户端 Server public bool MyEq
  • PHPMailer SMTP 连接失败

    我正在尝试通过 Mandrill 发送电子邮件PHP邮件程序但没有成功 在本地主机上测试 有人能告诉我问题出在哪里吗 这是来自 PHPMailer 的详细信息 2014 04 27 17 51 06 SERVER gt CLIENT 220
  • 访问pom中定义的maven属性

    如何访问普通 Maven 项目和 Maven 插件项目中 pom 中定义的 Maven 属性 Use the 属性 maven 插件编写具体的pomproperties在编译时写入文件 然后在运行时读取该文件 In your pom xml
  • ASP.NET CORE 中的流代理直播流

    我的网络摄像头有一个流 url 它返回 multipart x mixed replace boundary myboundary 的内容类型 假设可以通过以下方式访问它 http mywebcam livrestream cgi 我想在
  • 装饰一个方法

    在我的 Python 应用程序中 我使用事件在不同插件之间进行通信 现在 我想我可以使用装饰器来为我做这件事 而不是手动注册事件的方法 我想让它看起来像这样 events listento event name def myClassMet
  • 使用 chrome.socket API 构建 Web 服务器

    我使用 Chrome 打包应用程序构建了一个网络服务器 我反复看到的问题是 chrome socket accept 和 chrome socket write 不调用它们的回调函数 如果请求率低于每秒 1 个请求 它通常或多或少会可靠地工
  • C# 可能错误的空语句

    在 C 中 我可以这样写 using new MyDisposableClass MethodA 分号会导致显示编译器警告 其中指出可能存在错误的空语句 我没有运行上面的代码 但是该方法不会仍然被调用吗 这种类型的编码约定有什么用途 我在这
  • 重新分配结构体数组

    我正在尝试为从文件读取或向文件读取或由用户输入的结构数组 实际上是 2 个结构体中的每一个 但为了简单起见 此处包含 1 个结构体 动态重新分配内存 typedef Struct char surname 21 char firstname
  • 对用户定义函数内的语句进行分析

    我正在尝试使用 SQL Server Profiler 2005 来跟踪一些应用程序性能问题 所进行的调用之一是对表值用户定义函数的调用 该函数包装了一个将多个表连接在一起的选择 在 SQL Server Profiler 中 会记录对 U
  • 空栈异常

    这个EmptyStackException继续弹出 显然 我的堆栈中没有任何内容 只有用户输入的第一个元素 但是 我不确定代码哪里有缺陷 很多地方 但我只需要修复这个错误 import java util public class stac
  • android ViewPager xml 膨胀错误

    我正在学习如何实现水平滑动 并且在尝试启动我的应用程序时遇到以下错误ViewPager在它的布局中 03 25 17 12 13 166 E AndroidRuntime 19449 FATAL EXCEPTION main 03 25 1
  • 什么是“根引用”?

    引用自 在 C 中安全 在 C 中不安全 简单返回指针 引用 答案 3 埃里克 利珀特 Eric lippert 另请注意 并不是对 Person 对象的任何引用使其保持活动状态 引用必须是 root 的 您可以有两个相互引用但无法访问的
  • Makefile 致命错误:无法创建 obj/calc.o

    我正在尝试为大学项目的简单计算器制作一个生成文件 我需要完成它 我在网上搜索了教程 最终找到了这段代码 IDIR include CC gcc CFLAGS I IDIR ODIR obj LDIR lib SDIR src LIBS lm
  • Swift 3:UITableViewRowActionStyle()“缺少参数”错误消息

    当我滑动 UITableView 单元格时 将调用以下代码 func tableView tableView UITableView editActionsForRowAt indexPath IndexPath gt UITableVie
  • 在 blueimp/jquery-file-upload 上向 mysql 插入添加更多自定义变量

    我目前正在通过 mysql 在 blueimp jquery file upload 脚本内插入标题和描述 我用了this但是 我需要添加另一个变量 该变量是当前登录用户的session ID SESSION userid 我想将其插入到我