Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Errore sulle variabili

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    4

    Errore sulle variabili

    Ho un problema con questo script, molto semplicemente è uno script per l'upload di un immagine ed inserimento di commento nel database. dato che utilizzo lo stesso script prima faccio apparire il form per il caricamento e dopo per il salvataggio dell'immagine. Il problema è che ci sono delle variabili nella parte if (isset($_POST["Carica"])), riferito all'upload del file, che utilizzo in if (isset($_POST["Salva"])), riferito al salvataggio del file nel db e spostamento nella cartella corretta.

    ecco il codice:
    Codice PHP:
    <? include_once("../include/data.php"); include_once("../include/function.php");  $connessione Connetti($hostname$username$password); /*sostituisci_tab ($connessione, $database); modifica_tab ($connessione, $database);*/ if (!isset($_POST["Carica"])){     echo('<form action="inserireimmagine.php" method="post" title="Inserimento Categorie Immagini" name="Immagini" enctype="multipart/form-data">          <table summary="Immagine">            <thead>             <tr>                     <th scope="col">Immagine da inserire</th>                 </tr>         </thead>         <tbody>             <th><input name="file" type="file" title="file" /></th>         </tbody>       </table>       <input name="Carica" title="Carica" value="Carica" type="submit" />       </form>'); }  if (isset($_POST["Carica"])){     //cancello i file presenti nella temp directory     eliminafiles($tempdir);          //eseguo l'upload dell'immagine     /*$dimensione_massima=51200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb     $dimensione_massima_Kb=$dimensione_massima/1024;*/     $filtrare=1; //filtrare x estensioni ammesse? 1=si 0=no     $array_estensioni_ammesse=array('.jpg','.jpeg','.JPG','.JPEG'); //estensioni ammesse      if(!isset($_FILES['file'])){ //|| $_FILES['file']['size']==0){         echo "Nessun file selezionato per l'upload";     }else/*elseif($_FILES['file1']['size']>$dimensione_massima){     echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb"; }*/{         $nome_file=$_FILES['file']['name'];         $errore="";         if($filtrare==1){             $estensione = strtolower(substr($nome_file, strrpos($nome_file, "."), strlen($nome_file)-strrpos($nome_file, ".")));             if(!in_array($estensione,$array_estensioni_ammesse)){                 $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."
    ";             }         }         if(!file_exists($tempdir)){             $errore.="La cartella di destinazione non esiste</br>";         }              if($errore==""){             if(move_uploaded_file($_FILES['file']['tmp_name'], $tempdir.$_FILES['file']['name'])){                 chmod($tempdir.$_FILES['file']['name'],0777); //permessi per poterci sovrascrivere/scaricare                 echo "Operazione eseguita con successoUpload riuscito
     
    ";             }else{                 die( "Impossibile effettuare l'upload del file");             }         }else{             die($errore);         }     }          //eseguo il resize dell'immagine temporaneo     $file_temp='temp0001.jpg';     list($width$height$type$attr) = getimagesize($tempdir.$nome_file);     $newwith=intval($width*200/$height);     createthumb1($tempdir.$nome_file,$tempdir.$file_temp,$newwith,200);          echo('              [img].$tempdir.$file_temp.[/img]              <form action="inserireimmagine.php" method="post" title="Inserimento Categorie Immagini" name="Immagini" enctype="multipart/form-data">          <table summary="Descrizione Immagini">            <thead>             <tr>                     <th scope="col">Commento</th>                     <th scope="col">categoria</th>                 </tr>         </thead>         <tbody>             <th><input name="commento" type="text" title="commento" size="150"/></th><th><select name="Categoria">');         $qCategorie='SELECT * FROM `categorieimmagini`';         $rqCategorie=mysql_db_query($database$qCategorie$connessione);             if (!$rqCategorie) {                 die('Error query: ' mysql_error());             }             while ( $dati mysql_fetch_array($rqCategorie) ) {                 echo ('<option value="'.$dati["Id"].'" ');                 /*if ((isset($_POST["Categoria".$i])) && ($dati["Id"]==$_POST["Categoria".$i])){                     echo(' selected="selected" ');                 }*/                 echo('>'.$dati["Categoria"].'</option>');             }             mysql_free_result($rqCategorie);             echo('</select></th></tr>              </tbody>       </table>       <input name="Salva" title="Salva" value="Salva" type="submit" />       </form>'); }  if (isset($_POST["Salva"])){     if ((!file_exists($predir.$_POST["Categoria"].'/')) || (!is_dir($predir.$_POST["Categoria"].'/'))){         $crea=mkdir($predir.$_POST["Categoria"].'/');         if(!$crea){             die('Impossibile creare la directory: '.$predir.$_POST["Categoria"].'/');         }         $crea=mkdir($predir.$_POST["Categoria"].$thumbdir);         if(!$crea){             die('Impossibile creare la directory: '.$predir.$_POST["Categoria"].$thumbdir);         }     }     list($width$height$type$attr) = getimagesize($tempdir.$nome_file);     $newwith=intval($width*600/$height);     createthumb1($tempdir.$nome_file,$predir.$_POST["Categoria"].'/'.$nome_file,$newwith,600);     createthumb($tempdir.$nome_file,$predir.$_POST["Categoria"].$thumbdir.$nome_file,100,100);     $inserimentoDB='INSERT INTO `pizzeria`.`immagini` (`id` ,`NomeFile` ,`Commento` ,`Categoria`)                                     VALUES (NULL , '.$nome_file.', '.$_POST["Commento"].', '.$_POST["Categoria"].');';     $rqCategorie=mysql_db_query($database$inserimentoDB$connessione);             if (!$rqCategorie) {                 die('Error query: ' mysql_error());             } } ?> <? mysql_close($connessione); ?>
    spero che qualcuno possa aiutarmi, avevo pensato all'utilizzo delle variabili globali ma non riesco proprio a farle funzionare...

  2. #2
    1. Si usano gli apici ($_POST['Carica']
    2. Da quello che ho potuto capire di questo script scritto tutto sulla stessa riga(!), c'é qualche lacuna sulla teoria dell'upload.

    http://forum.html.it/forum/showthrea...readid=1320335
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    4
    Sistemato gli apici ma il problema rimane e non ho problemi con l'upload del file (quella parte funziona). Dato che non posso fare l'edit del messaggio precedente riassumo il problema:

    nello script sopraindicato ho fondamentalmente due sezioni che sono rispettivanete:



    Codice PHP:
    if (!isset($_POST["Carica"])){
        echo(
    '<form action="inserireimmagine.php" method="post" title="Inserimento Categorie Immagini" name="Immagini" enctype="multipart/form-data">
             <table summary="Immagine">
               <thead>
                <tr>
                        <th scope="col">Immagine da inserire</th>
                    </tr>
            </thead>
            <tbody>
                <th><input name="file" type="file" title="file" /></th>
            </tbody>
          </table>
          <input name="Carica" title="Carica" value="Carica" type="submit" />  
        </form>'
    );
    }

    if (isset(
    $_POST['Carica'])){
        
    //cancello i file presenti nella temp directory
        
    eliminafiles($tempdir);
        
        
    //eseguo l'upload dell'immagine
        /*$dimensione_massima=51200; //dimensione massima consentita per file in byte -> 1024 byte = 1 Kb
        $dimensione_massima_Kb=$dimensione_massima/1024;*/
        
    $filtrare=1//filtrare x estensioni ammesse? 1=si 0=no
        
    $array_estensioni_ammesse=array('.jpg','.jpeg','.JPG','.JPEG'); //estensioni ammesse

        
    if(!isset($_FILES['file'])){ //|| $_FILES['file']['size']==0){
            
    echo "Nessun file selezionato per l'upload";
        }else
    /*elseif($_FILES['file1']['size']>$dimensione_massima){
        echo "Il file selezionato per l'upload supera dimensione massima di $dimensione_massima_Kb Kb";
    }*/
    {
            
    $nome_file=$_FILES['file']['name'];
            
    $errore="";
            if(
    $filtrare==1){
                
    $estensione strtolower(substr($nome_filestrrpos($nome_file"."), strlen($nome_file)-strrpos($nome_file".")));
                if(!
    in_array($estensione,$array_estensioni_ammesse)){
                    
    $errore.="Upload file non ammesso. Estensioni ammesse: ".implode(", ",$array_estensioni_ammesse)."
    "
    ;
                }
            }
            if(!
    file_exists($tempdir)){
                
    $errore.="La cartella di destinazione non esiste</br>";
            }
        
            if(
    $errore==""){
                if(
    move_uploaded_file($_FILES['file']['tmp_name'], $tempdir.$_FILES['file']['name'])){
                    
    chmod($tempdir.$_FILES['file']['name'],0777); //permessi per poterci sovrascrivere/scaricare
                    
    echo "Operazione eseguita con successo. Upload riuscito. 
     
    "
    ;
                }else{
                    die( 
    "Impossibile effettuare l'upload del file");
                }
            }else{
                die(
    $errore);
            }
        }
        
        
    //eseguo il resize dell'immagine temporaneo
        
    $file_temp='temp0001.jpg';
        list(
    $width$height$type$attr) = getimagesize($tempdir.$nome_file);
        
    $newwith=intval($width*200/$height);
        
    createthumb1($tempdir.$nome_file,$tempdir.$file_temp,$newwith,200);
        
        echo(
    '
                 [img].$tempdir.$file_temp.[/img]
                 <form action="inserireimmagine.php" method="post" title="Inserimento Categorie Immagini" name="Immagini" enctype="multipart/form-data">
             <table summary="Descrizione Immagini">
               <thead>
                <tr>
                        <th scope="col">Commento</th>
                        <th scope="col">categoria</th>
                    </tr>
            </thead>
            <tbody>
                <th><input name="commento" type="text" title="commento" size="150"/></th><th><select name="Categoria">'
    );
            
    $qCategorie='SELECT * FROM `categorieimmagini`';
            
    $rqCategorie=mysql_db_query($database$qCategorie$connessione);
                if (!
    $rqCategorie) {
                    die(
    'Error query: ' mysql_error());
                }
                while ( 
    $dati mysql_fetch_array($rqCategorie) ) {
                    echo (
    '<option value="'.$dati["Id"].'" ');
                    echo(
    '>'.$dati["Categoria"].'</option>');
                }
                
    mysql_free_result($rqCategorie);
                echo(
    '</select></th></tr>
                 </tbody>
          </table>
          <input name="Salva" title="Salva" value="Salva" type="submit" />  
        </form>'
    );

    e una successiva parte in salva
    Codice PHP:
    if (isset($_POST['Salva'])){
        if ((!
    file_exists($predir.$_POST["Categoria"].'/')) || (!is_dir($predir.$_POST["Categoria"].'/'))){
            
    $crea=mkdir($predir.$_POST["Categoria"].'/');
            if(!
    $crea){
                die(
    'Impossibile creare la directory: '.$predir.$_POST["Categoria"].'/');
            }
            
    $crea=mkdir($predir.$_POST["Categoria"].$thumbdir);
            if(!
    $crea){
                die(
    'Impossibile creare la directory: '.$predir.$_POST["Categoria"].$thumbdir);
            }
        }
        list(
    $width$height$type$attr) = getimagesize($tempdir.$nome_file);
        
    $newwith=intval($width*600/$height);
        
    createthumb1($tempdir.$nome_file,$predir.$_POST["Categoria"].'/'.$nome_file,$newwith,600);
        
    createthumb($tempdir.$nome_file,$predir.$_POST["Categoria"].$thumbdir.$nome_file,100,100);
        
    $inserimentoDB='INSERT INTO `pizzeria`.`immagini` (`id` ,`NomeFile` ,`Commento` ,`Categoria`)
                                        VALUES (NULL , '
    .$nome_file.', '.$_POST["Commento"].', '.$_POST["Categoria"].');';
        
    $rqCategorie=mysql_db_query($database$inserimentoDB$connessione);
                if (!
    $rqCategorie) {
                    die(
    'Error query: ' mysql_error());
                }

    Il mio grosso problema è che la variabile $nome_file presente nella parte 'Carica' non viene riconosciuta nella parte 'Salva'.
    L'errore che mi viene visualizzato è relativo alla parte 'Salva' ed è Undefined index: nome_file in C:\wamp\www\Pizzeria\modifica\inserireimmagine.php
    Come posso risolvere il problema?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.