Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > post_params - передать массив


Автор: Risyaalex 15.8.2011, 12:19
поставила SWF Uploader для загрузки файлов - мне нужно передать 3 значения, передается почему то только одно
решила пойти другим путем - данные собираю в массив и отправляю - вроде как один параметр передается. но вытащить из массива данные тоже не удается

вот отправка массива
Код

$array = array($_POST['title'].','.$_POST['text'].','.$_POST['password']);
                
post_params: {"PHPARRAY" : "<?php echo $array;  ?>"},




здесь пытаюсь получить данные из массива
Код

    if (isset($_POST["PHPARRAY"])) {
        $array = $_POST["PHPARRAY"];
    }
    list ($title,$text,$password) = explode(',',$array);



подскажите, как передать данные через несколько post_params или массивом

Автор: NFL 15.8.2011, 12:30
Risyaalex, а просто передать постом нельзя там? не силен во флеше :(

метода типа post() нету?

как вариант - собирайте данные в строку с сепаратором и ее отправляйте, а на стороне похапе explode()

Автор: Risyaalex 15.8.2011, 12:44
передать постом нельзя, параметры передаются через функцию. с одним параметром - проблем нет, больше передать не получается, даже через массив(

Добавлено через 1 минуту и 1 секунду
вот функция 
Код

<script type="text/javascript">
        var swfu;

        window.onload = function() {
            var settings = {
                flash_url : "swfupload.swf",
                upload_url: "upload.php",
                post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
                post_params: {"PHPARRAY" : "<?php echo $array;  ?>"},
                file_size_limit : "51200000",
                file_types : "*.*",
                file_types_description : "All Files",
                file_upload_limit : 1,
                file_queue_limit : 0,
                custom_settings : {
                    progressTarget : "fsUploadProgress",
                    cancelButtonId : "btnCancel"
                },
                debug: false,

                // Button settings
                button_image_url: "images/TestImageNoText_65x29.png",
                button_width: "65",
                button_height: "29",
                button_placeholder_id: "spanButtonPlaceHolder",
                button_text: '<span class="theFont">Выбрать</span>',
                button_text_style: ".theFont { font-size: 16; }",
                button_text_left_padding: 2,
                button_text_top_padding: 3,
                
                // The event handler functions are defined in handlers.js
                file_queued_handler : fileQueued,
                file_queue_error_handler : fileQueueError,
                file_dialog_complete_handler : fileDialogComplete,
                upload_start_handler : uploadStart,
                upload_progress_handler : uploadProgress,
                upload_error_handler : uploadError,
                upload_success_handler : uploadSuccess,
                upload_complete_handler : uploadComplete,
                queue_complete_handler : queueComplete    // Queue plugin event
            };

            swfu = new SWFUpload(settings);
         };
    </script>

Автор: нуп 15.8.2011, 13:05
Наверное вот так
Код

post_params: {"PHPSESSID" : "<?php echo session_id(); ?>", "myvar" : 123, "myvar2" : 333},

Автор: Risyaalex 15.8.2011, 13:15
Цитата(нуп @  15.8.2011,  13:05 Найти цитируемый пост)
post_params: {"PHPSESSID" : "<?php echo session_id(); ?>", "myvar" : 123, "myvar2" : 333},


я так пробовала - вообще перестают файлы загружаться, и ковычки с разными вариациями пробовала ставить

единственное что получилось - загрузить еще один параметр кроме PHPSESSID, таким же способом

Автор: нуп 15.8.2011, 13:24
Замените 
Код

  post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
                post_params: {"PHPARRAY" : "<?php echo $array;  ?>"},

на
Код

  post_params: {"PHPSESSID" : "<?php echo session_id(); ?>", "PHPARRAY" : "<?php echo $array;  ?>", "vaaaarrrr" : "2222" },

И покажите как браузер это выдает

Автор: Risyaalex 15.8.2011, 13:29
post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"},
post_params: {"PHPTITLE" : "<?php echo $_POST['title'];  ?>","PHPTEXT" : "<?php echo $_POST['text'];  ?>","PHPPASS" : "<?php echo $_POST['password'];  ?>"},


получилось!
оказывается PHPSESSID не нужно трогать, следующей строкой остальные параметры внести и все!

ура!

всем спасибо)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)