[PHP/MySQL] Upload PDF

Yayo78

Nuovo Utente
9 Mar 2011
5
0
0
Buongiorno a tutti,
sono nuovo del forum e non so se questa discussione è stata già trattata.
Ho la necessità, in una pagina di modifica di dati, richiamati da una query, dove dovrei anche inserire un file pdf.
La modifica dei dati funziona benissimo, però quello che manca è la possibilità di inserire questo benedetto file.
Questo è il file con la tabella che recupera i dati:

PHP:
<?php
include ("includes/config.inc.php");
include ("includes/top_foot.inc.php");
top();
$db = mysql_connect($db_host, $db_user, $db_password);
  if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

	mysql_select_db($db_name, $db)
	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

	$Id=$_GET['Id']; // RECUPERA VARIABILE ID DA PAGINA PRECEDENTE
	$result = mysql_query("
						  SELECT * FROM ditte 
						  where Id = '$Id'"
						  )or die(mysql_error()); // QUERY SQL
	$row = mysql_fetch_assoc($result);
	

?>
<form method="post" enctype="multipart/form-data" action="modifica3.php">
  <table width="640	" border="1">
  <tr>
	  <td width="150"><div1>Id</div1></td>
      <td width="200"><input name="Id" type="text" id="Id" value="<?php echo $row['Id']?>" /></td>
    </tr>  
    <tr>
      <td width="150"><div1>Ragione Sociale</div1></td>
      <td width="200"><input type="text" name="rag_soc" value="<?php echo $row['rag_soc']?>" /></td>
      <td width="150"><div1>Durata Da</div1></td>
      <td width="200"><input type="text" name="durata_da" value="<?php echo $row['durata_da']?>" /></td>
    </tr>
    <tr>
      <td width="150"><div1>Codice Fiscale</div1></td>
      <td width="200"><input type="text" name="cod_fis" value="<?php echo $row['cod_fis']?>" /></td>
      <td width="150"><div1>Durata A</div1></td>
      <td width="200"><input type="text" name="durata_fino" value="<?php echo $row['durata_fino']?>" /></td>
    </tr>
    <tr>
      <td width="150"><div1>P. IVA</div1></td>
      <td width="200"><input type="text" name="p_iva" value="<?php echo $row['p_iva']?>" /></td>
      <td width="150"><div1>Importo</div1></td>
      <td width="200"><input type="text" name="importo" value="<?php echo $row['importo']?>" /></td>
    </tr>
    <tr>
      <td width="150"><div1>Matr.INPS</div1></td>
      <td width="200"><input type="text" name="matr_inps" value="<?php echo $row['matr_inps']?>" /></td>
      <td width="150"><div1>Nr.Dip</div1></td>
      <td width="200"><input type="text" name="tot_dip" value="<?php echo $row['tot_dip']?>" /></td>
    </tr>
    <tr>
      <td width="150"><div1>Pos.INAIL</div1></td>
      <td width="200"><input type="text" name="pos_inail" value="<?php echo $row['pos_inail']?>" /></td>
      <td width="150"><div1>CCNL</div1></td>
      <td width="200"><input type="text" name="ccnl" value="<?php echo $row['ccnl']?>" /></td>
    </tr>
    <tr>
      <td width="150"><div1>Cod.INAIL</div1></td>
      <td width="200"><input type="text" name="cod_inail" value="<?php echo $row['cod_inail']?>" /></td>
      <td width="150"><div1>Data Rich.</div1></td>
      <td width="200"><input type="text" name="data_rich" value="<?php echo $row['data_rich']?>" /></td>
    </tr>
     <tr>
      <td width="150"><div1>Data Risp.</div1></td>
      <td width="200"><input type="text" name="data_risp" value="<?php echo $row['data_risp']?>" /></td>
      <td width="150"><div1></div1></td>
      <td width="200"></td>
    </tr>
      <tr>
      <td width="150"><div1>D.U.R.C.</div1></td>
      <td width="200"><input name="$data" type="file" id="$data"> 
      <td width="150"><div1>Attivo</div1></td>
      <td width="200"><input name="Attivo" type="text" id="Attivo" value="<?php echo $row['Attivo']?>" /></td>
    </tr>
</table>
<input type="submit" value="Aggiorna Dati">
</form>

Da notare che è già presente il campo per la scelta del file PDF

E questa è la pagina che va ad eseguire la query:

[QUOTE]<?php
// CONNESSIONE AL DATABASE
include ("includes/config.inc.php");
include ("includes/top_foot.inc.php");
top();

$db = mysql_connect($db_host, $db_user, $db_password);
  if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

	mysql_select_db($db_name, $db)
	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

// RECUPERA DATI DAL FORM
	$Id=$_POST['Id'];
	$rag_soc=$_POST['rag_soc'];
	$cod_fis=$_POST['cod_fis'];
	$p_iva=$_POST['p_iva'];
	$matr_inps=$_POST['matr_inps'];
	$pos_inail=$_POST['pos_inail'];
	$cod_inail=$_POST['cod_inail'];
	$durata_da=$_POST['durata_da'];
	$durata_fino=$_POST['durata_fino'];
	$importo=$_POST['importo'];
	$tot_dip=$_POST['tot_dip'];
	$ccnl=$_POST['ccnl'];
	$data_rich=$_POST['data_rich'];
	$data_risp=$_POST['data_risp'];
//	$Descrizione=$_POST['Descrizione'];
//	$DatiBinari=$_POST['$data'];
//	$Nome=$_POST['Nome'];
//	$Size=$_POST['Size'];
//	$Type=$_POST['Type'];
	$Attivo=$_POST['Attivo'];
//	$Descrizione=$_POST['Descrizione']; 
//	$file_binario=$_POST['file_bianario'];
// AGGIORNA RECORD IN DATABASE
$query = "UPDATE ditte set 
					
					`rag_soc`='$rag_soc' ,
					`cod_fis`='$cod_fis' , 
					`p_iva`='$p_iva' ,
					`matr_inps`='$matr_inps' ,
					`pos_inail`='$pos_inail' ,
					`cod_inail`='$cod_inail' ,
					`durata_da`='$durata_da' ,
					`durata_fino`='$durata_fino' ,
					`importo`='$importo' ,
					`tot_dip`='$tot_dip' ,
					`ccnl`='$ccnl' ,
					`data_rich`='$data_rich' ,
					`data_risp`='$data_risp' ,
					`Attivo`='$Attivo'
					WHERE Id='$Id'";
					
if (@mysql_query($query)) {
echo ("<div align=center class=testo> <b>Record modificato con successo.</b></div>");
} else {
echo ("<div align=center class=testo> <b>Errore di inserimento record: ". mysql_error()
."</b></div>");
}

?>

Spero di essere stato chiaro, e che possiate aiutarmi...:book:
Grazie in anticipo!
 
Ultima modifica:
Se non ho capito male quello che devi fare è implementare un campo UPLOAD per consentire agli utenti di caricare dei PDF che poi vorresti salvare nel DB, giusto?
 
Risolto!

Si, hai capito benissimo. Cmq nel frattempo a forza di sbatterci ci sono riuscito.:hammer:
Domani mattina dall'ufficio posto il risultato, nel caso venisse utile a qualcuno.
Grazie della risposta, e scusate se me la sono suonata e cantata da solo:elvis:!
 
Come promesso...ecco il codice completo per l'inserimento del file pdf (o qualsiasi altro formato che si voglia):


PHP:
<?php
// CONNESSIONE AL DATABASE
include ("includes/config.inc.php");
include ("includes/top_foot.inc.php");
top();

$db = mysql_connect($db_host, $db_user, $db_password);
  if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");

	mysql_select_db($db_name, $db)
	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

// RECUPERA DATI DAL FORM PRECEDENTE
	$Id=$_POST['Id'];
	$rag_soc=$_POST['rag_soc'];
	$cod_fis=$_POST['cod_fis'];
	$p_iva=$_POST['p_iva'];
	$matr_inps=$_POST['matr_inps'];
	$pos_inail=$_POST['pos_inail'];
	$cod_inail=$_POST['cod_inail'];
	$durata_da=$_POST['durata_da'];
	$durata_fino=$_POST['durata_fino'];
	$importo=$_POST['importo'];
	$tot_dip=$_POST['tot_dip'];
	$ccnl=$_POST['ccnl'];
	$data_rich=$_POST['data_rich'];
	$data_risp=$_POST['data_risp'];
 	$descrizione=$_POST['descrizione'];
	$Attivo=$_POST['Attivo'];

// Valorizzo le variabili relative all'allegato
$allegato = $_FILES['allegato']['tmp_name'];
$allegato_type = $_FILES['allegato']['type'];
$allegato_name = $_FILES['allegato']['name'];
$allegato_size = $_FILES['allegato']['size'];
// Verifico se il file è stato caricato correttamente via HTTP
// In caso affermativo proseguo nel lavoro...
if (is_uploaded_file($allegato))
{
  // Apro e leggo il file allegato
  $file = fopen($allegato,'rb');
  $data = fread($file, filesize($allegato));
  $data = addslashes($data);
  fclose($file);
}

$query = "UPDATE ditte set 
					
					`rag_soc`='$rag_soc' ,
					`cod_fis`='$cod_fis' , 
					`p_iva`='$p_iva' ,
					`matr_inps`='$matr_inps' ,
					`pos_inail`='$pos_inail' ,
					`cod_inail`='$cod_inail' ,
					`durata_da`='$durata_da' ,
					`durata_fino`='$durata_fino' ,
					`importo`='$importo' ,
					`tot_dip`='$tot_dip' ,
					`ccnl`='$ccnl' ,
					`data_rich`='$data_rich' ,
					`data_risp`='$data_risp' ,
					`Attivo`='$Attivo' ,
					`Descrizione`='$descrizione' ,
					`Nome`='$allegato_name' ,
					`Type`='$allegato_type' ,
					`Size`='$allegato_size' ,
					`DatiBinari`='$data'
					WHERE Id='$Id'";
		
if (@mysql_query($query)) {
echo ("<div align=center class=testo> <b>Record modificato con successo.</b></div>");
echo ("<h3 align=\"center\"><div2> <a href=\"http://10.0.1.152/durc/select.php\">NUOVA RICERCA</a></div2></h3>");
} else {
echo ("<div align=center class=testo> <b>Errore di inserimento record: ". mysql_error()
."</b></div>");
}
?>

Magari il codice non è proprio "pulitissimo", però funziona!

Alla prossima!
 

Discussioni simili