Problems with multiple upload page

Hello!

I’m new here and I have a problem with an upload page I’m working on…
The first time I load the page nothing happens! but if I reload it it works perfectly.

I just learnt AS and Flash but this is the code I’ve managed to produce:

Main Class:


import ProgressBarExample;
 
var frList:FileReferenceList = new FileReferenceList();
var pendingFilesA:Array;
var urlR:URLRequest;
var i:uint;
var pBarsA:Array = new Array();
var filesUploadedTxt:TextField = new TextField();
var fileCount:Number = 0;
var userName:String = root.loaderInfo.parameters.userName;
 
addChild(filesUploadedTxt);
 
filesUploadedTxt.x = 250;
filesUploadedTxt.y = 150;
 
frList.addEventListener(Event.SELECT, selectHandler);
 
upload_btn.addEventListener(MouseEvent.CLICK,buttonClick);
 
 
 
function buttonClick(e:Event) {
     try {
          var success:Boolean = frList.browse();
     } catch (error:Error) {
          trace(error,success);
     }
}
 
 
function selectHandler(event:Event):void {
     filesUploadedTxt.text = "0/"+FileReferenceList(frList).fileList.length+" files uploaded";
        removeChild(upload_btn);
     pendingFilesA = new Array();
     var file:FileReference;     
     for(i=0;i<FileReferenceList(frList).fileList.length;i++){
           //i'th file in the list of files to upload
          file = FileReference(FileReferenceList(frList).fileList*);
          urlR = new URLRequest("upload2.php?userName="+userName);
          addPendingFile(file,i);
     }
}
 
function progressHandler(event:ProgressEvent, i:int):void{
    var pBar:ProgressBarExample;
    pBar = pBarsA*;
    pBar.advancePreloader(event.bytesLoaded,event.bytesTotal);
}
 
 
 
function addPendingFile(file:FileReference,i:int):void {
     pendingFilesA.push(file);
     file.addEventListener(Event.COMPLETE, function(evt:Event){singleFileCompleteHandler(evt,i)});
     file.addEventListener(ProgressEvent.PROGRESS,function(evt:ProgressEvent){progressHandler(evt,i)});
     file.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
 
     var fileTxt:TextField = new TextField();
 
     addChild(fileTxt);
     fileTxt.text = file.name+" :";
     fileTxt.width = 200;
     fileTxt.x = 10;
     if(i == 0){
         fileTxt.y = 10;
     } else{
        fileTxt.y = 10+i*35;
     }
 
     var pBar:ProgressBarExample;
     pBar = new ProgressBarExample(10, 30+i*35);
     addChild(pBar);
     pBarsA* = pBar;
     file.upload(urlR); 
}
 
function onFileLoadError(event:Event):void {
    trace("File load error");
}
 
function singleFileCompleteHandler(event:Event,i:int):void {
     var file:FileReference = FileReference(event.target);
     var pBar:ProgressBarExample;
     pBar = pBarsA*;
     pBar.advancePreloader(1,1);
     removePendingFile(file);
     fileCount++;
     filesUploadedTxt.text = fileCount+"/"+FileReferenceList(frList).fileList.length+" files uploaded";
}
 
function removePendingFile(file:FileReference):void {
     for(i=0;i<pendingFilesA.length;i++){
          if (pendingFilesA*.name == file.name) {
               pendingFilesA.splice(i, 1);
               if (pendingFilesA.length == 0) {
                    doOnComplete();
               }
               break;
          }
     }
}
 
function doOnComplete(){
}

ProgressBarExample Class:


package
{
    import fl.controls.Button;
    import fl.controls.ProgressBar;
    import fl.controls.ProgressBarMode;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.net.FileReference;
 
    public class ProgressBarExample extends Sprite
    {
        private var j:uint;
        private var pb:ProgressBar;
        private var fakeProgressCount:uint;
        private var progressAdd:Number = 0;
 
        public function ProgressBarExample(placingY:int,placingX:int) {
            fakeProgressCount = 0;
            pb = new ProgressBar();
            pb.width = 200;
            pb.height = 10;
            pb.move(placingY,placingX);
            pb.mode = ProgressBarMode.MANUAL;
            pb.setProgress(0,1);
            addChild(pb);  
        }
 
        public function advancePreloader(progressSize:int,fileSize:Number):void {
            pb.setProgress(progressSize,fileSize);
        }
 
        public function advancePreloaderAdd(progressSize:int,fileSize:Number, adding:Number):void {
            if(adding == 0){
                pb.setProgress(progressAdd+progressSize,fileSize);
            } else{
                progressAdd = progressAdd+adding;
                pb.setProgress(progressAdd+progressSize,fileSize);
            }
        }
    }
}

PHP-uploader:


<?php
session_start();
 
$uploads_dir = './FILES/'.$_GET['userName'].'/';
 
if( $_FILES['Filedata']['error'] == 0 ){
    if( move_uploaded_file( $_FILES['Filedata']['tmp_name'], $uploads_dir.$_FILES['Filedata']['name'] ) ){
        echo 'ok';
        exit();
    }
}
echo 'error';
exit();
?>