Io ho uno script che uploda un'immagine sul server e salva i dati sul db relativi al titolo/data/categoria. All'interno dell'ultimo else ho tutte le varie operazione di salvataggio sul db...tralasciando il codice che credo faccia parecchio schifo, anzi, se mi date qualche suggerimento su come sistemarlo non sarebbe male. Quando uno fa submit nel form si apre il pop-up che esegue il codice e dice se tutto è andato a buon fine. Prima di tutto mi piacerebbe far uscire gli eventuali errori direttamente sul form, anche se non sò da dove iniziare per farlo. Poi mi piacerebbe che se uno uploda un'immagine non delle dimensioni consentite, invece di dare l'errore si apre l'immagine con la possibilità di fare il crop della stessa, però anche qua come faccio a non far eseguire il codice di inserimento dati nel db, ma di farlo solo se l'immagine è stata croppata ?

Codice PHP:
if (empty($_FILES['upl_file']['name'])){
        echo 
__("You must select a picture of your gallery");
        }
        else {
                
$allowed_types explode(' 'trim(strtolower($imagesallowed)));
                
$img1_name $_FILES['upl_file']['name'];
                
$img1 $_FILES['upl_file']['tmp_name'];
                
                
                    
$imgtype explode(".",$img1_name);
                    
$imgtype strtolower($imgtype[count($imgtype)-1]);
        
        
$checkthatimage getimagesize($img1);
        if ((
$checkthatimage[0] != 107) && ($checkthatimage[1] != 156)) {
        
unlink($img1);
        die (
__("The only dimension allowed is 107 X 156 pixels"));
        
        }

                
                    if (
in_array($imgtype$allowed_types) == false) {
                       echo 
sprintf(__('File %1$s of type %2$s is not allowed.') , $img1_name$imgtype);
                    }
                    else {
                    if( 
$_FILES['upl_file']['size'] > ($maxuploadsize*1024))
                        echo 
__("File is larger than allowed limit!");
                    else {
                        if(
$_FILES['upl_file']['size'] > 0){
                            
$fileuploaded rand(11000).$img1_name;
                            
$pathtofile2 $upl_path.$fileuploaded;
                            if(
file_exists($pathtofile2)){
                                
printf(__("The filename '%s' already exists, try to refresh this page!"), $img1_name);
                                }
                                else {
                                        
                                        
$moved move_uploaded_file($img1$pathtofile2);
                                                                                if (!
$moved) {
                                            
$moved copy($img1$pathtofile2);
                                        }
                                        if (!
$moved) {
                                            
printf(__("Couldn't upload your file to %s."), $pathtofile2);
                                        } else {
                                            
chmod($pathtofile20666);
                                            @
unlink($img1