difficoltà a caricare immagini

ciao a tutti,

questo codice funzionava bene fino all'attuale cambio di server (ora siamo su server dedicato aruba prima su hosting windows di aruba stesso).

ora non funziona alla perfezione. in pratica registra regolarmente i campi ID_CONTATORE e ID_STRUTTURA ma non compila gli altri due (FOTO e DESCRIZIONE). E poi, funziona anche bene la cancellazione dei record.

strano vero???

quindi nn posso pensare che sia la connessione. ma cosa può essere??? 

a presto, daniele.

<?php

if (isset($_POST["del_id"])) {

$id_struttura=$_POST["del_id"];

$del_id="vero";

}else{$del_id="falso";}



if (isset($_POST["upimg"])) {

$up="vero";

$id_struttura=$_POST["upimg"];

$LARGEFILE=$_FILES["largeimage"]["name"];
$DESCRIZIONE=$_FILES["descrizione"]["name"]; // CON FILES

}else{$up="falso";}


if (isset($_GET["id"])){

$id_struttura = $_GET["id"];

}

$db_host = "xxxxxxxx";

$db_user = "xxxxxxxxxx";

$db_password = "xxxxxxxxx";

$db_name = "xxxxxxxxxxxxx";

$connection = mysql_pconnect("$db_host","$db_user","$db_password") or die ("Impossibile connettersi al database!");

mysql_select_db("$db_name", $connection) or die("Impossibile accedere al database!");

?>

</head>

<body>

<?php if ($login=="ko") {

echo "<p class=title align=center>ACCESSO NEGATO - LOGIN NON EFFETTUATO</p>";

exit;

}

//eliminazione dell'indirizzo delle foto dal db

if ($del_id=="vero"){

   $sql_foto="SELECT strutture_foto.FOTO, strutture_foto.ID_CONTATORE FROM strutture_foto WHERE strutture_foto.ID_STRUTTURA = " .$id_struttura;

   $result_foto = mysql_query("$sql_foto", $connection)or die (mysql_error());

   $righe_foto = mysql_num_rows($result_foto);   

    if ($righe_foto!=0) {

      $counter=0;

      for ($counter=0;$counter<$righe_foto;$counter++){

         mysql_data_seek($result_foto,$counter);

         $riga=mysql_fetch_assoc($result_foto);

         $id=$riga["ID_CONTATORE"];

         if (isset($_POST[$id])){

            $sqldel="DELETE FROM strutture_foto WHERE strutture_foto.ID_CONTATORE='$id'";

            mysql_query("$sqldel",$connection) or die (mysql_error());

         }      
      }
   }
}

?>

<table width="1024" border="0" cellpadding="0" cellspacing="0" align="center">

  <!--DWLayoutTable-->

  <tr> 

    <td height="100" colspan="5" align="center" valign="middle" class="Admin"><img  src="../images/header-gallery.jpg" width="900" height="90"></td>

  </tr>

  <tr align="center" valign="bottom"> 

    <td height="40" colspan="5" class="Title"><strong>Inserimento di una Nuova Struttura -(Foto Album)</strong></td>

  </tr>

  <tr> 

    <td height="23" colspan="5" valign="top"><hr color="#FF9900" size="5"></td>

  </tr>

  <tr> 

    <td height="43" colspan="2" align="center" valign="middle"><strong>Pagina 10/10</strong></td>

    <td width="622"> </td>

    <td colspan="2" align="right" valign="bottom"><p align="right" class="Indented"><a href="/gestionale/?page=strutture">Vai all'elenco Strutture</a> </p></td>

  </tr>

  <tr> 

    <td width="166" height="53"> </td>

    <td width="22"> </td>

    <td align="center" valign="top"><p><strong>ATTENZIONE!</strong></p>

      <p><em>Attenersi alle indicazioni riportate nel modulo. L'inserimento di 

        una foto troppo grande potrebbe compromettere l'operazione di upload del 

        file ed il layout della pagina.</em></p></td>

    <td width="25"> </td>

    <td width="189"> </td>

  </tr>

  <tr> 

    <td height="115"> </td>

    <td colspan="3" valign="top"> <table width="100%" border="0" cellpadding="0" cellspacing="0">

        <form action="foto_es.php" enctype="multipart/form-data" method="post" name="UploadFile">

          <!--DWLayoutTable-->

          <tr> 

            <td width="378" height="40" align="right" valign="middle"><p >

                <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1024000">

         </td>

            

          </tr>

          <tr> 

            <td height="40" align="right" valign="middle"><p>File Immagine <em>(jpg, gif).</em> </p></td>

            <td colspan="2" align="right" valign="middle"> <input  size="50" type="file" name="largeimage"></td>

          </tr>
          <tr> 

            <td height="40" align="right" valign="middle"><p>Breve Descrizione </p></td>

            <td colspan="2" align="left" valign="middle"> <input  size="50" type="text" name="descrizione"></td>

          </tr>

          <tr> 

            <td height="35" align="right" valign="bottom"> <p class="Indented"> 

                <input type="hidden" name="upimg" value="<?php echo $id_struttura;?>">

                <input type="reset" value="Ripristina">

                 </p></td>

            <td width="119" align="left" valign="bottom"><p class="Indented"> 

                <input  type="submit" value="Esegui Upload">

              </p></td>

            <td width="172" align="center" valign="bottom"><font size="-2"><em>* MAX 10 FOTO</em></font></td>

          </tr>

        </form>

      </table></td>


   <?php

$sql_foto="SELECT strutture_foto.FOTO FROM strutture_foto WHERE strutture_foto.ID_STRUTTURA = " .$id_struttura;

$result_foto = mysql_query("$sql_foto", $connection)or die (mysql_error());

$righe_foto = mysql_num_rows($result_foto);   


if ($sql_foto<10){

   $foto="ok";

}else{

   $foto="ko";

}

if (($foto=="ok") && ($up=="vero")) {

    //upload dei file e salvataggio nel db

    $save="ko";

   $a=$_SERVER['DOCUMENT_ROOT'];

   $path = "/gestionale/public";

   if (($largeimage != none))   {

         print("Percorso locale: $largeimage -- ");

         print("Nome del file: $largeimage -- ");

         print("Dimensione del file: $largeimage_size -- ");

         print("Tipo di file: $largeimage_type -- <br>/n");

         

         print("<HR> <br>/");

         $Filedest="Salento_str" .$id_struttura ."_" .$largeimage_name;

         if (copy( $largeimage , $path . "/" .$Filedest )){

            print "$largeimage copiato con successo in $path/$Filedest<br>";

            $POS = strrpos($LARGEFILE,"/");

               $FILE = substr($LARGEFILE,$POS);

            $save="ok";

            }else{print "Errore.. upload non riuscito<br>";$save="ko";}

   unlink($largeimage);

   }else{print "Errore.. nessun file.<br>";$save="ko";}

// fine upload primo file

      if ($save="ok") {   

         $stringsql = "INSERT INTO strutture_foto (ID_STRUTTURA, FOTO, DESCRIZIONE) VALUES ('$id_struttura','$FILE','$descrizione')";

      $result_2 = mysql_query($stringsql, $connection) or die (mysql_error()); 

      }

}else{

   if ($foto=="ko")

   {echo $foto ."-" .$up ."SI E' RAGGIUNTO IL NUMERO MASSIMO DI FOTO CONSENTITE";}

}

   ?>

        <form action="foto_es.php" enctype="multipart/form-data" method="post" name="ELIMINA">

        <?php

            $sql_foto="SELECT strutture_foto.FOTO, strutture_foto.ID_CONTATORE FROM strutture_foto WHERE strutture_foto.ID_STRUTTURA = " .$id_struttura;

              $result_foto = mysql_query("$sql_foto", $connection)or die (mysql_error());

            $righe_foto = mysql_num_rows($result_foto);

                $counter = 0;

            

            if ($righe_foto != 0) {

                echo "<tr>";

               for ($counter=0;$counter<$righe_foto;$counter++){

                   mysql_data_seek($result_foto,$counter);

                  $riga_foto = mysql_fetch_assoc($result_foto);

                  if ($counter<10){

                  $idfoto=$riga_foto["ID_CONTATORE"];

                      echo "<td width=100 height=100 align=center valign=middle><input type=checkbox name='$idfoto' value='$idfoto'><br>
                  <a href='/gestionale/public/Salento_str" .$id_struttura ."_" .$riga_foto["FOTO"] ."'  target='_blank' >
                  <img src=/gestionale/public/Salento_str" .$id_struttura ."_" .$riga_foto["FOTO"] ." width=100 alt='foto n° " .($counter+1) ."'></a></td>";       

                   }

               }

                  echo "</tr>";

               echo "<tr><td colspan=5 height=25 align=right><input type=hidden name=del_id value='$id_struttura'><input type=reset value='Ripristina'>  </td><td colspan=5 height=25 align=left>  <input type=submit value='Elimina Selezionati'></td></tr>";

               }

      ?>


      </form>

      </table></td>

  </tr>

</table>

datemi un'indicazioneeeeee por favor

inviato 8 anni fa
danielix
X 0 X

quindi è la insert che non funziona? Prova a verificare la query di inserimento, facendoti stampare il contenuto di $stringsql. Prendi poi questa stringa ed eseguila "a mano" in phpMyAdmin.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ciao gianni e grazie,

intano sto facendo verificare che il server sia settato correttamente nella funzione di file_upload che sia ON e non OFF.

vediamo che succede....

risposto 8 anni fa
danielix
X 0 X

ciao gianni,

niente, il server è settato correttamente (almeno sembra)

è il nome del file a non passare, infatti stampando la query vien fuori questo

/Errore.. upload non riuscito
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ID_STRUTTURA', 'FOTO', 'DESCRIZIONE') VALUES ('296','','numero 6')' at line 1

in VALUES 296 è l'ID (quindi l'id passa) poi c'è "" (sarebbe appunto la foto e il nome del file che non passa) e DESCRIZIONE anch'essa passa.

che succede? mi puoi aiutare? grazie

risposto 8 anni fa
danielix
X 0 X

Mi sembra di aver capito che il nome del file viene preso da $_FILES["largeimage"]["name"];

Prova allora a mettere un print_r($_FILES); così da vedere tutti i dati in esso contenuti.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ciao gianni rieccomi ancora qui intorno a questo problema

con una informazione in più come da tua indicazione

inserendo infatti il comando print_r($_FILES);

mi viene questo messaggio

/nArray ( [largeimage] => Array ( [name] => facciata.jpg [type] => image/pjpeg [tmp_name] => C:\Documents and Settings\azienda\Local Settings\Temp\PHP\upload\php21D.tmp [error] => 0 [size] => 15349 ) )

capisco che ci sarebbe un errore nella directory dei file temporanei dell'host?

che pensi? ::)

risposto 8 anni fa
danielix
X 0 X

Ciao,

l'errore potrebbe essere nel fatto che la variabile $largeimage non è mai settata e quindi uguale a null.

La print_r($_FILES) che hai postato è corretta e non ha generato errore ([errore] => 0)

 :bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

ciao zeta80 grazie,

ma come faccio a venirne a capo di questo problema?

lo stesso file ha funzionato e funziona correttamente sull'altro server. quindi desumo che la variabile sia correttamente settata. o mi sbaglio?

effettivamente quando ho provato a stampare i risultati a video FOTO non mi restituisce nessun valore

/Errore.. upload non riuscito

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''ID_STRUTTURA', 'FOTO', 'DESCRIZIONE') VALUES ('296','','numero 6')' at line 1

...come ho scritto qualche post fa...

 :'(AIUTOOOOOOOOOO

risposto 8 anni fa
danielix
X 0 X

Perché hai messo gli apici a ID_STRUTTURA, FOTO e DESCRIZIONE? Prova a toglierli.

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda