Хранение данных формы в сеансе JavaScript - PullRequest
0 голосов
/ 22 декабря 2009

Мне было интересно, возможно ли сохранить данные формы, такие как 'title' и 'description', в сеансе javascript?

Я использую сценарий загрузки для загрузки флэш-памяти, но сценарий не передает заголовок и описание. Это мой код на данный момент;

<script type="text/javascript">

    jQuery(document).ready(function() {
        title = $("input#title").val();
        description = $("textarea#description").val();

        $('#uploadImage').uploadify({
            'uploader': 'flash/uploadify.swf',
            'script': 'process/process_uploaded_image.php',
            'folder': 'submitted/pictures',
            'cancelImg': 'images/cancel.png',
            'queueID'        : 'fileQueueImages',
            'auto'           : false,
            'multi'          : false,
            'fileExt' : '*.jpg;*.png;*.gif;*.jpeg;*.JPG',
            'fileDesc': 'Images ONLY (.jpg, .png, .gif, .jpeg, .JPG)',
            'buttonText' : 'BROWSE',
            'scriptData': {'title':title,'description':description,'user':'<?php echo $usr["id"] ?>'},
            'sizeLimit' : '2097152', //2MB
            //'buttonImg' : '/components/com_mm/assets/images/button-upload-images.png',
            //'width' : '218',
            //'height' : '66',
            onAllComplete: function() {
              //$('#uploadedImage').load(location.href+" #uploadedImages>*","");
              //location.reload(); //uncomment this line if youw ant to refresh the whole page instead of just the #allfiles div
                 location.href = "upload-pics-thanks.php";
            },
            //onComplete: function(a, b, c, d, e){
            //     if (d !== '1')
            //           alert(d);
            //},
            onError: function (a, b, c, d) {
                alert("Error: "+d.type+"      Info: "+d.info);
            },
            onSelect: function () {

            }   
        });
    });
</script>

Ответы [ 3 ]

0 голосов
/ 22 декабря 2009

Проверьте это ТАК ответ , и если это не сработает ...

Вы видели это сообщение на форумах Uploadify? Возможно, это укажет вам правильное направление, и вы получите столько спама на этих форумах.

http://www.uploadify.com/forum/viewtopic.php?f=7&t=3120

0 голосов
/ 17 января 2010

Если вы используете последнюю версию uploadify, данные в scriptData будут переданы в script в виде _POST или _GET (по умолчанию теперь POST) переменная. Таким образом, в вашем php-файле вы можете получить заголовок и описание, используя:

$_POST['title']
$_POST['description']
$_POST['user']

Просто рассмотрите то же самое при обработке отправки формы, только она возникла из загружаемого flash. Также обратите внимание, что флэш-память не передает текущие файлы cookie, которые в настоящее время существуют в браузере. Если ваш php использует сеанс, сохраненный в файлах cookie, его необходимо настроить, чтобы вместо этого прочитать его из $_POST.

Я использую CodeIgniter, и на форуме CodeIgniter есть патч для этого. Если вы просто используете сборку в сеансе PHP, вы можете передать PHPSESSID внутрь scriptData, а затем в сторону script PHP, повторно инициализировать сеанс с использованием переданных данных. На этот вопрос ответили в другом вопросе в stackoverflow, просто выполните поиск по ключевому слову uploadify.

0 голосов
/ 22 декабря 2009

JavaScript не имеет сессий. Вероятно, лучший способ - отправить ваш заголовок и описание через AJAX на сервер.

...