Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

allex_carvalho

[Resolvido] Enviar e receber dados pelo .get

Recommended Posts

Bom dia pessoal.

 

Estou com alguns probleminhas aqui. Estou desenvolvendo uma galeria com a mesma logistica da galeria do face. Primeiramente envia as fotos e depois cadastras as informações da galeria. Estou cadastrando perfeitamente as fotos da galeria (com o swfuploader). Só que antes eu precisaria cadastrar a galeria. Estou tentando fazer isso com jquery, ao clicar no botão upload. Vejam minha estrutura:

 

Seleciona e lista imagens do upload: (lista e faz o upload normalmente)

       <div id="swfupload-control">
           <p>Carregar até 50 arquivos de imagem (jpg, png, gif), cada um com tamanho máximo de 3MB</p>
           <input type="button" id="button" />
           <p id="queuestatus" ></p>
           <ol id="log"></ol>
       </div><!--swfupload-control-->

 

 

JS (A segunda parte só pode ser iniciada após o termino da primeira, que precisa retornar o id gravado na tabela para envio pela url)

       // PRIMEIRA PARTE
       $("#button").click(function(){
          $.get('php/galeria_cadastrar.php'); 
       });
       // SEGUNDA PARTE
       $(function(){
           $('#swfupload-control').swfupload({
               upload_url: "php/upload-file.php",
               file_post_name: 'uploadfile',
               file_size_limit : "3072",
               file_types : "*.jpg;*.png;*.gif",
               file_types_description : "Arquivos de imagem",
               file_upload_limit : 50,
               flash_url : "swfupload/swfupload.swf",
               button_image_url : 'img/wdp_buttons_upload_114x29.png',
               button_width : 114,
               button_height : 29,
               button_placeholder : $('#button')[0],
               debug: false
           })
           .bind('fileQueued', function(event, file){
               var listitem='<li id="'+file.id+'" >'+
               'Arquivo: <em>'+file.name+'</em> ('+Math.round(file.size/1024)+' KB) <span class="progressvalue" ></span>'+
               '<div class="progressbar" ><div class="progress" ></div></div>'+
               '<p class="status" >Pendente</p>'+
               '<span class="cancel" > </span>'+
               '</li>';
               $('#log').append(listitem);
               $('li#'+file.id+' .cancel').bind('click', function(){
                   var swfu = $.swfupload.getInstance('#swfupload-control');
                   swfu.cancelUpload(file.id);
                   $('li#'+file.id).slideUp('fast');
               });
               // start the upload since it's queued
               $(this).swfupload('startUpload');
           })
           .bind('fileQueueError', function(event, file, errorCode, message){
               alert('O tamanho do arquivo '+file.name+' é maior do que o limite');
           })
           .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
               $('#queuestatus').text('Arquivos selecionados: '+numFilesSelected+' / Arquivos na fila: '+numFilesQueued);
           })
           .bind('uploadStart', function(event, file){
               $('#log li#'+file.id).find('p.status').text('Enviando...');
               $('#log li#'+file.id).find('span.progressvalue').text('0%');
               $('#log li#'+file.id).find('span.cancel').hide();
           })
           .bind('uploadProgress', function(event, file, bytesLoaded){
               //Show Progress
               var percentage=Math.round((bytesLoaded/file.size)*100);
               $('#log li#'+file.id).find('div.progress').css('width', percentage+'%');
               $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%');
           })
           .bind('uploadSuccess', function(event, file, serverData){
               var item=$('#log li#'+file.id);
               item.find('div.progress').css('width', '100%');
               item.find('span.progressvalue').text('100%');
               item.addClass('success').find('p.status').html('Pronto!!!');
           })
           .bind('uploadComplete', function(event, file){
               // upload has completed, try the next one in the queue
               $(this).swfupload('startUpload');
           })

       });

 

galeria_cadastrar.php (Não está cadastrando item algum aqui).

<?php

// Conexão com banco
require_once 'mysql_connect.php';

$inserir = "INSERT INTO galeria VALUES (NUL, NUL, NUL, NUL, NUL)";
mysql_query($inserir);
$id = mysql_insert_id();
mkdir("../../uploads/".$id, 0777);
$atualizarOrdem = "UPDATE galeria SET ordemGaleria='$id', pastaGaleria WHERE idGaleria=" . $id;
mysql_query($atualizarOrdem);
?>

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

 

Meus problemas foram quase todos resolvidos. Estou criando a pasta, salvando nas tabelas tudo da forma que preciso. O único problema é que quando termina de fazer o upload de todas imagens eu preciso redirecionar para outra pagina. Só que no script do plugin não localizei onde faço isso. Se alguém puder ajuda:

 

       $(function(){
           $('#swfupload-control').swfupload({
               upload_url: "php/upload-file.php",
               file_post_name: 'uploadfile',
               file_size_limit : "3072",
               file_types : "*.jpg;*.png;*.gif",
               file_types_description : "Arquivos de imagem",
               file_upload_limit : 50,
               flash_url : "swfupload/swfupload.swf",
               button_image_url : 'img/wdp_buttons_upload_114x29.png',
               button_width : 114,
               button_height : 29,
               button_placeholder : $('#button')[0],
               debug: false
           })
           .bind('fileQueued', function(event, file){
               var listitem='<li id="'+file.id+'" >'+
               'Arquivo: <em>'+file.name+'</em> ('+Math.round(file.size/1024)+' KB) <span class="progressvalue" ></span>'+
               '<div class="progressbar" ><div class="progress" ></div></div>'+
               '<p class="status" >Pendente</p>'+
               '<span class="cancel" > </span>'+
               '</li>';
               $('#log').append(listitem);
               $('li#'+file.id+' .cancel').bind('click', function(){
                   var swfu = $.swfupload.getInstance('#swfupload-control');
                   swfu.cancelUpload(file.id);
                   $('li#'+file.id).slideUp('fast');
               });
               // start the upload since it's queued
               $(this).swfupload('startUpload');
           })
           .bind('fileQueueError', function(event, file, errorCode, message){
               alert('O tamanho do arquivo '+file.name+' é maior do que o limite');
           })
           .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
               $('#queuestatus').text('Arquivos selecionados: '+numFilesSelected+' / Arquivos na fila: '+numFilesQueued);
           })
           .bind('uploadStart', function(event, file){
               $('#log li#'+file.id).find('p.status').text('Enviando...');
               $('#log li#'+file.id).find('span.progressvalue').text('0%');
               $('#log li#'+file.id).find('span.cancel').hide();
           })
           .bind('uploadProgress', function(event, file, bytesLoaded){
               //Show Progress
               var percentage=Math.round((bytesLoaded/file.size)*100);
               $('#log li#'+file.id).find('div.progress').css('width', percentage+'%');
               $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%');
           })
           .bind('uploadSuccess', function(event, file, serverData){
               var item=$('#log li#'+file.id);
               item.find('div.progress').css('width', '100%');
               item.find('span.progressvalue').text('100%');
               item.addClass('success').find('p.status').html('Pronto!!!');
           })
           .bind('uploadComplete', function(event, file){
               // upload has completed, try the next one in the queue
               $(this).swfupload('startUpload');
           })

       });

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ativei o debug dele, vejam o resultado:

 

---SWFUpload Instance Info---
Version: 2.2.0 2009-03-25
Movie Name: SWFUpload_0
Settings:
upload_url:                        /painel/php/upload-file.php
flash_url:                          swfupload/swfupload.swf?preventswfcaching=1335612476100
use_query_string:                false
requeue_on_error:                false
http_success:                   
assume_success_timeout:   0
file_post_name:            uploadfile
post_params:                      [object Object]
file_types:                        *.jpg;*.png;*.gif
file_types_description:   Arquivos de imagem
file_size_limit:                  3072
file_upload_limit:          50
file_queue_limit:                0
debug:                              true
prevent_swf_caching:      true
button_placeholder_id:   
button_placeholder:        Set
button_image_url:                /painel/img/wdp_buttons_upload_114x29.png
button_width:                    114
button_height:              29
button_text:                     
button_text_style:          color: #000000; font-size: 16pt;
button_text_top_padding:  0
button_text_left_padding: 0
button_action:              -110
button_disabled:                  false
custom_settings:                  [object Object]
Event Handlers:
swfupload_loaded_handler assigned:  true
file_dialog_start_handler assigned: true
file_queued_handler assigned:      true
file_queue_error_handler assigned:  true
upload_start_handler assigned:    true
upload_progress_handler assigned:   true
upload_error_handler assigned:    true
upload_success_handler assigned:    true
upload_complete_handler assigned:   true
debug_handler assigned:                  true
SWF DEBUG: SWFUpload Init Complete
SWF DEBUG:
SWF DEBUG: ----- SWF DEBUG OUTPUT ----
SWF DEBUG: Build Number:                   SWFUPLOAD 2.2.0
SWF DEBUG: movieName:                     SWFUpload_0
SWF DEBUG: Upload URL:                   /painel/php/upload-file.php
SWF DEBUG: File Types String:     *.jpg;*.png;*.gif
SWF DEBUG: Parsed File Types:     jpg,png,gif
SWF DEBUG: HTTP Success:                   0
SWF DEBUG: File Types Description: Arquivos de imagem (*.jpg;*.png;*.gif)
SWF DEBUG: File Size Limit:         3145728 bytes
SWF DEBUG: File Upload Limit:     50
SWF DEBUG: File Queue Limit:       50
SWF DEBUG: Post Params:
SWF DEBUG: ----- END SWF DEBUG OUTPUT ----
SWF DEBUG:
SWF DEBUG: Event: fileDialogStart : Browsing files. Multi Select. Allowed file types: *.jpg;*.png;*.gif
SWF DEBUG: Select Handler: Received the files selected from the dialog. Processing the file list...
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_0
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_1
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_2
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_3
SWF DEBUG: Event: fileQueued : File ID: SWFUpload_0_4
SWF DEBUG: Event: fileDialogComplete : Finished processing selected files. Files selected: 5. Files Queued: 5
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_0
SWF DEBUG: StartUpload(): Upload already in progress. Not starting another upload.
SWF DEBUG: StartUpload(): Upload already in progress. Not starting another upload.
SWF DEBUG: StartUpload(): Upload already in progress. Not starting another upload.
SWF DEBUG: StartUpload(): Upload already in progress. Not starting another upload.
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /painel/php/upload-file.php for File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_0
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_0. Bytes: 50690. Total: 50690
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_0 Response Received: true Data: success
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_1
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /painel/php/upload-file.php for File ID: SWFUpload_0_1
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_1
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_1. Bytes: 61295. Total: 61295
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_1 Response Received: true Data: success
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_2
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /painel/php/upload-file.php for File ID: SWFUpload_0_2
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_2
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_2. Bytes: 141916. Total: 141916
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_2 Response Received: true Data: success
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_3
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /painel/php/upload-file.php for File ID: SWFUpload_0_3
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_3
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_3. Bytes: 156674. Total: 156674
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_3 Response Received: true Data: success
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: Event: uploadStart : File ID: SWFUpload_0_4
SWF DEBUG: ReturnUploadStart(): File accepted by startUpload event and readied for upload.  Starting upload to /painel/php/upload-file.php for File ID: SWFUpload_0_4
SWF DEBUG: Event: uploadProgress (OPEN): File ID: SWFUpload_0_4
SWF DEBUG: Event: uploadProgress: File ID: SWFUpload_0_4. Bytes: 102818. Total: 102818
SWF DEBUG: Event: uploadSuccess: File ID: SWFUpload_0_4 Response Received: true Data: success
SWF DEBUG: Event: uploadComplete : Upload cycle complete.
SWF DEBUG: StartUpload: First file in queue
SWF DEBUG: StartUpload(): No files found in the queue.

 

Ele parece ser um ciclo sem uma mensagem: Pronto! Terminei o serviço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um alert( file ); aqui nesse handler:

 

.bind('uploadComplete', function(event, file){

 

creio que qndo chegar o ultimo arquivo, esse argumento vai valer NULL

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele não retornou nenhum valor null. O que eu pensei em fazer foi contar a quantidade de arquivos. Até ai está ok. A cada upload realizado com sucesso é aumentado um número na contagem, até dar o total de itens enviados para upload.

Com as mudanças o código (estou resumindo só o importante para o funcionamento do redirecionamento) ficou assim:

 

   var cont = 0; // Inicio a contagem
       $(function(){
           $('#swfupload-control').swfupload({

           })

.bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
               $('#queuestatus').text('Arquivos selecionados: '+numFilesSelected+' / Arquivos na fila: '+numFilesQueued);
               var totalImagens = numFilesSelected; // Criei a variavel com intuito de usa-la na função uploadComplete
           })

               .bind('uploadComplete', function(event, file){
               // upload has completed, try the next one in the queue
               $(this).swfupload('startUpload');
               cont = cont + 1; // Essa contagem funciona Certo
               alert(cont);
               if(cont == totalImagens){ // Não consigo usar a variavel aqui.
                   alert('estou aqui');
               }
           })
       });

 

Eis a questão... A variavel criada no fileDialogComplete não funciona para ser usada no uploadComplete.

Como resolver isso?

 

Obrigado pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se problema é escopo, tente assim:

 

 

    var cont = 0; // Inicio a contagem
var totalImagens = 0; //criando aqui fora
       $(function(){
           $('#swfupload-control').swfupload({

           })

.bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){
               $('#queuestatus').text('Arquivos selecionados: '+numFilesSelected+' / Arquivos na fila: '+numFilesQueued);
               totalImagens = numFilesSelected; // Criei a variavel com intuito de usa-la na função uploadComplete
           })

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.