Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8981425
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T20:19:57+00:00 2026-06-15T20:19:57+00:00

I am having a heck of a time trying to submit additional form data

  • 0

I am having a heck of a time trying to submit additional form data in the jQuery File Upload plugin. It is described here https://github.com/blueimp/jQuery-File-Upload/wiki/How-to-submit-additional-Form-Data but it doesn’t go into any detail about how to retrieve and use that data in the UploadHandler.php. Below is what I have:

index.php (the form):

 <form id="fileupload" action="<?php echo $this->config->item('base_url'); ?>/cool_upload/server/php/" method="POST" enctype="multipart/form-data">
    <input type="hidden" id="userID" value="<?php echo $this->session->userdata('id'); ?>">
    <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload -->
    <div class="row fileupload-buttonbar">
        <div class="span7">
            <!-- The fileinput-button span is used to style the file input field as button -->
            <span class="btn btn-success fileinput-button">
                <i class="icon-plus icon-white"></i>
                <span>Add files...</span>
                <!-- REMOVED MULTIPLE FROM HERE TO ONLY ALLOW ONE FILE AT A TIME!!!! -->
                <input type="file" name="files[]">
            </span>
            <button type="submit" class="btn btn-primary start">
                <i class="icon-upload icon-white"></i>
                <span>Start upload</span>
            </button>
            <button type="reset" class="btn btn-warning cancel">
                <i class="icon-ban-circle icon-white"></i>
                <span>Cancel upload</span>
            </button>
            <button type="button" class="btn btn-danger delete">
                <i class="icon-trash icon-white"></i>
                <span>Delete</span>
            </button>
            <input type="checkbox" class="toggle">
        </div>

    </div>

     <!-- The global progress information -->
        <div class="span5 fileupload-progress fade">
            <!-- The global progress bar -->
            <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100">
                <div class="bar" style="width:200%;"></div>
            </div>
            <!-- The extended global progress information -->
            <div class="progress-extended">&nbsp;</div>
        </div>


    <!-- The loading indicator is shown during file processing -->
    <div class="fileupload-loading"></div>
    <br>
    <!-- The table listing the files available for upload/download -->
    <table role="presentation" class="table table-striped"><tbody class="files" data-toggle="modal-gallery" data-target="#modal-gallery"></tbody></table>
</form>
<br>


 <!-- The template to display files available for upload -->
 <script id="template-upload" type="text/x-tmpl">

  <tr class="template-upload fade">
    <td colspan="2" class="preview"><span class="fade"></span></td>
    <td class="changeFileName"><input type="text" name="changeFileName" class="changeFileName" style="width: 110px;" placeholder="New File Name?" maxlength="25" />

        <select class="selectCat" name="selectCategory" style="width: 130px;">
          <option selected="selected" value="0">Select Category:</option>
          <?php
            foreach ($fileCategory as $t)
            {
                echo '<option value="'.$t['id'].'">'.$t['name'].'</option>';
            }
          ?>
          <option value="3">Other...</option>
        </select>

    </td>
    <td colspan="2" class="name" width="20"><span>{%=file.name%}</span></td>
    <td colspan="2" class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
    {% if (file.error) { %}
        <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
    {% } else if (o.files.valid && !i) { %}
        <td>
            <div class="progress progress-success progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="bar" style="width:0%;"></div></div>
        </td>
         <td class="start">{% if (!o.options.autoUpload) { %}
            <button class="btn btn-primary">
                <i class="icon-upload icon-white"></i>
                <span>Start</span>
            </button>
        {% } %}</td>
    {% } else { %}
        <td colspan="2"></td>
    {% } %}
    <td class="cancel">{% if (!i) { %}
        <button class="btn btn-warning">
            <i class="icon-ban-circle icon-white"></i>
            <span>Cancel</span>
        </button>
    {% } %}</td>
    <td rowspan="2"></td>
</tr>
{% } %}
</script>

main.js:

$('#fileupload').bind('fileuploadsubmit', function (e, data) {
    data.formData = $('form').serializeArray();
});

UploadHandler.php:

-Here is my edit to the post function:

public function post($print_response = true) {
    if (isset($_REQUEST['_method']) && $_REQUEST['_method'] === 'DELETE') {
        return $this->delete($print_response);
    }
    $upload = isset($_FILES[$this->options['param_name']]) ?
        $_FILES[$this->options['param_name']] : null;
    // Parse the Content-Disposition header, if available:
    $file_name = isset($_SERVER['HTTP_CONTENT_DISPOSITION']) ?
        rawurldecode(preg_replace(
            '/(^[^"]+")|("$)/',
            '',
            $_SERVER['HTTP_CONTENT_DISPOSITION']
        )) : null;
    // Parse the Content-Range header, which has the following form:
    // Content-Range: bytes 0-524287/2000000
    $content_range = isset($_SERVER['HTTP_CONTENT_RANGE']) ?
        preg_split('/[^0-9]+/', $_SERVER['HTTP_CONTENT_RANGE']) : null;
    $size =  $content_range ? $content_range[3] : null;
    $files = array();
    // IF THERE ARE MULTIPLE FILES
    if ($upload && is_array($upload['tmp_name'])) {
        // param_name is an array identifier like "files[]",
        // $_FILES is a multi-dimensional array:
        foreach ($upload['tmp_name'] as $index => $value) {
            $files[] = $this->handle_file_upload(
                $upload['tmp_name'][$index],
                $file_name ? $file_name : $upload['name'][$index],
                $size ? $size : $upload['size'][$index],
                $upload['type'][$index],
                $upload['error'][$index],
                $index,
                $content_range,
                isset($_REQUEST['userID']) ? $_REQUEST['userID'] : null,
            null
            );
        }
    } else {
        // param_name is a single object identifier like "file",
        // $_FILES is a one-dimensional array:
        $files[] = $this->handle_file_upload(
            isset($upload['tmp_name']) ? $upload['tmp_name'] : null,
            $file_name ? $file_name : (isset($upload['name']) ?
                    $upload['name'] : null),
            $size ? $size : (isset($upload['size']) ?
                    $upload['size'] : $_SERVER['CONTENT_LENGTH']),
            isset($upload['type']) ?
                    $upload['type'] : $_SERVER['CONTENT_TYPE'],
            isset($upload['error']) ? $upload['error'] : null,
            null,
            $content_range,
            isset($_REQUEST['userID']) ? $_REQUEST['userID'] : null,
            null
        );
    }
    return $this->generate_response(array('files' => $files), $print_response);
}

-I added the parameter to handle_file_upload

protected function handle_file_upload($uploaded_file, $name, $size, $type, $error,
        $index = null, $content_range = null, $userID) {

When I try to use $userID I get nothing because it is empty. How can I use the userID from the form? Also in index.php, in the template display area how can I use those added inputs too? For instance, I have an input to changeFilerName and a select to select the category. I’ve read the documentation, but I’m still not sure how things are being passed to the UploadHandler.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T20:19:58+00:00Added an answer on June 15, 2026 at 8:19 pm

    First of all make sure that $userID is populated in the hidden form field by viewing the source of your page. The hidden form field needs a name like this:

    <input name="userID" id="userID" ....
    

    On the PHP side the value of that input will be available in the $_POST array

    $_POST['userid']
    

    You should also observe the request / response of the Ajax request in the developer tools console that comes with your browser or a tool like Firebug.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am having a heck of a time trying to parse a schema file...
I'm having a heck of a time trying to get a gridview to refresh
I am having one heck of a hard time trying to figure this out.
I'm having a heck of a time trying to get a silverlight datagrid to
I am having a heck of a time with this -- I am trying
I am having a heck of a time replacing the data between two tags.
I'm having a heck of a time changing the default location of a form.
In WPF, I am having a heck of a time trying to get a
I'm having a heck of a time trying to manipulate my reports so that
I am having a heck of a time trying to get this to work.

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.