[ADOdb] Integrare più funzioni con una sola form

trunks73

Nuovo Utente
20 Nov 2008
2
0
0
Salve,

sono alle prime armi con PHP e sto diventando pazzo per integrare un upload di una immagine insieme a un inserimento di testo. Questo non sarebbe un problema se uso PHP "normale", ma siccome è uno script già pronto e fa uso delle librerie ADOdb sono dei giorni che ci sto perdendo la testa senza trovare una soluzione... Ripeto... sono anche alle prime armi quindi sicuramente mi sta sfuggendo qualcosa :dhò:

Questo è il contenuto php del file inserisci.php che inserisce il testo nella tabella "appuntamenti":



Codice:
<?       				$db = &ADONewConnection(CONF_DBTYPE); 				$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB); 				 				      	 	////////////////////////////////////////////////////////////////////// 	 	 	 	if(($_POST["submit"]) && ($_POST["azione"]=="invia")){ 	 		// UPLOAD IMG		 		$result = inserisci_immagine($_POST); 		 		$sql = "SELECT * FROM appuntamenti WHERE id_appuntamenti = -1"; 		$rs = $db->Execute($sql); 		 		$record = array(); 		while (list($chiave, $valore) = each($_POST)) { 		   $record[$chiave] = $valore; 		} 		 		//if($record['id_mesi']!="3"): $record['id_imm']="0"; endif; 		 		//upload img 		 		$record['data_inizio'] = inserisci_data($_POST['data_inizio']); 		$record['data_scadenza'] = inserisci_data($_POST['data_scadenza']); 		 		 		$insertSQL = $db->GetInsertSQL($rs, $record); 		$db->Execute($insertSQL); 		 	 			 		if($insertSQL){ 		$messaggio = 'Il record è stato inserito con successo.'; 		}else{ 		$messaggio = 'Attenzione: non è stato possibile inserire il record a causa di un errore.<br>La preghiamo di riprovare.'; 		} 		 		echo '<script language="javascript" type="text/javascript">'; 		echo 'window.location.replace("?page=lista&modulo=appuntamenti");'; 		echo 'alert("'.$messaggio.'"); </script>'; 		 			 	}else{ 	  	 	$query_News = "SELECT MAX(pos) AS max_pos FROM appuntamenti"; 	$datiNews = $db->Execute($query_News); 	$max_pos = $datiNews->fields["max_pos"]+1; 	 	?>


Questo il contenuto php del file upload.php :

Codice:
<?        				$db = &ADONewConnection(CONF_DBTYPE); 				$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB); 				 				      	 	////////////////////////////////////////////////////////////////////// 	 	 	 	 	if(($_POST["submit"]) && ($_POST["azione"]=="invia")){ 	 	 	 		$result = inserisci_immagine($_POST); 		 		 		 		 	 	} 	  	  	?>

Questo è l'include che chiama "upload" per ridimensionamento immagine, ecc... :

Codice:
<?php      // funzione che crea un none univoco per la foto  function random_name($filename){ 	$firsts = rand(0,999); 	$seconds = rand(0,999); 	$thirds = rand(0,999); 	$fourths = rand(0,999);  	$rand = $firsts.$seconds.$thirds.$fourths.'_'.$filename; 	return $rand; }    // funzione che crea la thumbnail dalla foto function resizeImage($destinazione_img, $imgtype, $newwidth, $newheight, $filename, $quality, $destinazione){    list($width, $height) = getimagesize($destinazione_img.$filename); 	    if($width > $height && $newheight < $height){        $newheight = $height / ($width / $newwidth);    } else if ($width < $height && $newwidth < $width) {        $newwidth = $width / ($height / $newheight);        } else {        $newwidth = $width;        $newheight = $height;    }    // se è una jpeg     if(($imgtype=='image/pjpeg') || ($imgtype=='image/jpeg')){        $source=@imagecreatefromjpeg($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagejpeg($foto, $destinazione.$filename , $quality);    // se è una gif        } else if($imgtype=='image/gif'){        $source=@imagecreatefromgif($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagegif($foto, $destinazione.$filename , $quality);        } else if($imgtype=='image/x-png'){        $source=@imagecreatefrompng($destinazione_img.$filename);                // path to your gallery    $foto = imagecreatetruecolor($newwidth, $newheight);    // new image    imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);    imagepng($foto, $destinazione.$filename , $quality);        } }   //////////////// UPLOAD FOTO E SALVA IN DB //////////////////////////////////////////////   function inserisci_immagine($post){   global $global, $db;     if($_FILES['file']['name'] != ""){               			$copy = false;             $types_array = array('image/gif','image/pjpeg','image/x-png');              $nome_originale =  $_FILES['file']['name']; 			$filename = preg_replace("/\s+/i", "_", $_FILES['file']['name']); 			$filename = preg_replace("/[^a-z0-9_.-]/i", "", $filename); 			$filename = preg_replace("/_+/i", "_", $filename); 			$filename = random_name($filename); 			$imgtype =  $_FILES['file']['type']; 			 			// individuo le dimensioni dell'img originale 			$imagesize = getimagesize($_FILES['file']['tmp_name']);             $imgwidth = $imagesize[0];             $imgheight = $imagesize[1]; 			 			$foto_caricata = copy($_FILES['file']['tmp_name'], $global["img_temp_dir"].$filename); 			  			// ci sono le funzioni x lavorare con le immagini? 			 			if (function_exists("imagegif")) { 			 $funzione_gif=1;             } else{  $funzione_gif=0; } 			 			if (function_exists("imagepng")) { 			$funzione_jpg=1; 			} else {  $funzione_jpg=0; } 			             if (function_exists("imagejpeg")) { 		    $funzione_png=1; 		    } else { $funzione_jpg=0; }             if(($funzione_gif==0) && ($imgtype==$types_array[0])){ 		   echo "attenzione, no gif"; 		   exit; 		   } 		   if(($funzione_jpg==0) && ($imgtype==$types_array[1])){ 		   echo "attenzione, no jpg"; 		   exit; 		   } 		   if(($funzione_png==0) && ($imgtype==$types_array[2])){ 		   echo "attenzione, no png"; 		   exit; 		   } 		    		    		   if(file_exists($global["img_temp_dir"].$filename)){             // ridimensiono la foto normale            $myimage_img = resizeImage($global["img_temp_dir"] , $imgtype, $global["img_w"] , $global["img_h"] , $filename, '100', $global["img_dir"]); 		    		   // ridimensiono la thumb            $myimage_th = resizeImage($global["img_temp_dir"], $imgtype, $global["img_th_w"] , $global["img_th_h"] , $filename, '100', $global["img_th_dir"]);  		    		    // ridimensiono la foto zoom            $myimage_zoom = resizeImage($global["img_temp_dir"], $imgtype, $global["img_zoom_w"] , $global["img_zoom_h"] , $filename, '100', $global["img_zoom_dir"]); 		     			 			unlink($global["img_temp_dir"].$filename); 			$copy = true; 			} 			 			 			// prima recupero le dimensioni delle immmagini 			$file_ext = substr($filename, -3); 			if(file_exists($global["img_dir"].$filename)): $file_size_img = getimagesize($global["img_dir"].$filename); endif; 			if(file_exists($global["img_th_dir"].$filename)):$file_size_th = getimagesize($global["img_th_dir"].$filename); endif; 			if(file_exists($global["img_zoom_dir"].$filename)):$file_size_zoom = getimagesize($global["img_zoom_dir"].$filename); endif; 			 			// salvo le immagini nel database 			 			    if($copy){ 			 					$sql = "SELECT * FROM appuntamenti WHERE id_appuntamenti = -1";  					$rs = $db->Execute($sql);  					$record = array(); 					 					while (list($chiave, $valore) = each($post)) { 						$record[$chiave] = $valore; 					} 					 					 		 					$record["nome_originale"] = $nome_originale ; 					$record["nome"] = $filename; 					$record["size"] = $file_size_img; 					$record["size_th"] = $file_size_th; 					$record["size_zoom"] = $file_size_zoom; 					$record["ext"] = $file_ext; 					$record["th_w"] = $file_size_th[0]; 					$record["th_h"] = $file_size_th[1]; 					$record["img_w"] = $file_size_img[0]; 					$record["img_h"] = $file_size_img[1]; 					$record["zoom_w"] = $file_size_zoom[0]; 					$record["zoom_h"] = $file_size_zoom[1]; 					$record["trash"] = '0'; 					$record["data"] = date("Y-m-d H:i:s"); 			 					$insertSQL = $db->GetInsertSQL($rs, $record);  		 					$db->Execute($insertSQL); 					 					$lastId = $db->Insert_ID(); 				 				 			    } 			  			} 			 			 			 			if($insertSQL && $lastId){              $return = "OK"; 			} else { 			 $return = "KO"; 			}  				 				 		    return $return;               }   ?>

Io vorrei inglobare tutto nel file inserisci.php ma ho fatto molte prove includendo $result = inserisci_immagine($_POST); in ogni parte ma continua sempre a inserirmi solo l'insert del testo ma non quello dell'immagine...

C'è qualche anima pia che può aiutarmi? Sicuramente è una stupidata per voi!

Grazie
Davide
 

trunks73

Nuovo Utente
20 Nov 2008
2
0
0
Grazie per l'interessamento, scusami ma non so come mai abbia formattato così!

Ecco, posto il codice direttamente nel post così facciamo prima :)

inserisci.php ...........................................................................

<?



$db = &ADONewConnection(CONF_DBTYPE);
$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB);




//////////////////////////////////////////////////////////////////////



if(($_POST["submit"]) && ($_POST["azione"]=="invia")){



$sql = "SELECT * FROM news WHERE id_news = -1";
$rs = $db->Execute($sql);


$record = array();
while (list($chiave, $valore) = each($_POST)) {
$record[$chiave] = $valore;
}

if($record['id_cat']!="3"): $record['id_imm']="0"; endif;
$record['data_inizio'] = inserisci_data($_POST['data_inizio']);
$record['data_scadenza'] = inserisci_data($_POST['data_scadenza']);


$insertSQL = $db->GetInsertSQL($rs, $record);
$db->Execute($insertSQL);



if($insertSQL){
$messaggio = 'Il record è stato inserito con successo.';
}else{
$messaggio = 'Attenzione: non è stato possibile inserire il record a causa di un errore.<br>La preghiamo di riprovare.';
}

echo '<script language="javascript" type="text/javascript">';
echo 'window.location.replace("?page=lista&modulo=news");';
echo 'alert("'.$messaggio.'"); </script>';


}else{



$query_News = "SELECT MAX(pos) AS max_pos FROM news";
$datiNews = $db->Execute($query_News);
$max_pos = $datiNews->fields["max_pos"]+1;

?>


upload.php ...................................................................

<?




$db = &ADONewConnection(CONF_DBTYPE);
$db->PConnect(CONF_HOST,CONF_USER,CONF_PASS,CONF_DB);




//////////////////////////////////////////////////////////////////////




if(($_POST["submit"]) && ($_POST["azione"]=="invia")){



$result = inserisci_immagine($_POST);





}




?>

function_foto.php ..............................................................

<?php





// funzione che crea un none univoco per la foto

function random_name($filename){
$firsts = rand(0,999);
$seconds = rand(0,999);
$thirds = rand(0,999);
$fourths = rand(0,999);

$rand = $firsts.$seconds.$thirds.$fourths.'_'.$filename;
return $rand;
}



// funzione che crea la thumbnail dalla foto
function resizeImage($destinazione_img, $imgtype, $newwidth, $newheight, $filename, $quality, $destinazione){
list($width, $height) = getimagesize($destinazione_img.$filename);

if($width > $height && $newheight < $height){
$newheight = $height / ($width / $newwidth);
} else if ($width < $height && $newwidth < $width) {
$newwidth = $width / ($height / $newheight);
} else {
$newwidth = $width;
$newheight = $height;
}
// se è una jpeg

if(($imgtype=='image/pjpeg') || ($imgtype=='image/jpeg')){

$source=@imagecreatefromjpeg($destinazione_img.$filename); // path to your gallery
$foto = imagecreatetruecolor($newwidth, $newheight); // new image
imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagejpeg($foto, $destinazione.$filename , $quality);
// se è una gif

} else if($imgtype=='image/gif'){

$source=@imagecreatefromgif($destinazione_img.$filename); // path to your gallery
$foto = imagecreatetruecolor($newwidth, $newheight); // new image
imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagegif($foto, $destinazione.$filename , $quality);

} else if($imgtype=='image/x-png'){

$source=@imagecreatefrompng($destinazione_img.$filename); // path to your gallery
$foto = imagecreatetruecolor($newwidth, $newheight); // new image
imagecopyresampled($foto, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
imagepng($foto, $destinazione.$filename , $quality);

}
}


//////////////// UPLOAD FOTO E SALVA IN DB //////////////////////////////////////////////


function inserisci_immagine($post){
global $global, $db;


if($_FILES['file']['name'] != ""){

$copy = false;
$types_array = array('image/gif','image/pjpeg','image/x-png');

$nome_originale = $_FILES['file']['name'];
$filename = preg_replace("/\s+/i", "_", $_FILES['file']['name']);
$filename = preg_replace("/[^a-z0-9_.-]/i", "", $filename);
$filename = preg_replace("/_+/i", "_", $filename);
$filename = random_name($filename);
$imgtype = $_FILES['file']['type'];

// individuo le dimensioni dell'img originale
$imagesize = getimagesize($_FILES['file']['tmp_name']);
$imgwidth = $imagesize[0];
$imgheight = $imagesize[1];

$foto_caricata = copy($_FILES['file']['tmp_name'], $global["img_temp_dir"].$filename);


// ci sono le funzioni x lavorare con le immagini?

if (function_exists("imagegif")) {
$funzione_gif=1;
} else{ $funzione_gif=0; }

if (function_exists("imagepng")) {
$funzione_jpg=1;
} else { $funzione_jpg=0; }

if (function_exists("imagejpeg")) {
$funzione_png=1;
} else { $funzione_jpg=0; }

if(($funzione_gif==0) && ($imgtype==$types_array[0])){
echo "attenzione, no gif";
exit;
}
if(($funzione_jpg==0) && ($imgtype==$types_array[1])){
echo "attenzione, no jpg";
exit;
}
if(($funzione_png==0) && ($imgtype==$types_array[2])){
echo "attenzione, no png";
exit;
}


if(file_exists($global["img_temp_dir"].$filename)){

// ridimensiono la foto normale
$myimage_img = resizeImage($global["img_temp_dir"] , $imgtype, $global["img_w"] , $global["img_h"] , $filename, '100', $global["img_dir"]);

// ridimensiono la thumb
$myimage_th = resizeImage($global["img_temp_dir"], $imgtype, $global["img_th_w"] , $global["img_th_h"] , $filename, '100', $global["img_th_dir"]);

// ridimensiono la foto zoom
$myimage_zoom = resizeImage($global["img_temp_dir"], $imgtype, $global["img_zoom_w"] , $global["img_zoom_h"] , $filename, '100', $global["img_zoom_dir"]);



unlink($global["img_temp_dir"].$filename);
$copy = true;
}


// prima recupero le dimensioni delle immmagini
$file_ext = substr($filename, -3);
if(file_exists($global["img_dir"].$filename)): $file_size_img = getimagesize($global["img_dir"].$filename); endif;
if(file_exists($global["img_th_dir"].$filename)):$file_size_th = getimagesize($global["img_th_dir"].$filename); endif;
if(file_exists($global["img_zoom_dir"].$filename)):$file_size_zoom = getimagesize($global["img_zoom_dir"].$filename); endif;

// salvo le immagini nel database

if($copy){

$sql = "SELECT * FROM immagini WHERE id_imm = -1";
$rs = $db->Execute($sql);
$record = array();

while (list($chiave, $valore) = each($post)) {
$record[$chiave] = $valore;
}



$record["nome_originale"] = $nome_originale ;
$record["nome"] = $filename;
$record["size"] = $file_size_img;
$record["size_th"] = $file_size_th;
$record["size_zoom"] = $file_size_zoom;
$record["ext"] = $file_ext;
$record["th_w"] = $file_size_th[0];
$record["th_h"] = $file_size_th[1];
$record["img_w"] = $file_size_img[0];
$record["img_h"] = $file_size_img[1];
$record["zoom_w"] = $file_size_zoom[0];
$record["zoom_h"] = $file_size_zoom[1];
$record["trash"] = '0';
$record["data"] = date("Y-m-d H:i:s");

$insertSQL = $db->GetInsertSQL($rs, $record);

$db->Execute($insertSQL);

$lastId = $db->Insert_ID();


}

}



if($insertSQL && $lastId){

$return = "OK";
} else {
$return = "KO";
}


return $return;



}


?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
W ADODB.Recordset error '800a0bb9' Classic ASP 2
K [ASP] Errore: ADODB.Field error '800a0bcd' Classic ASP 1
S Problema con ADODB.Stream su MAC-Safari Classic ASP 12
P ADODB.Field error '80020009 Classic ASP 1
A adodb.recordset Visual Basic 1
M ADODB.connection e ADODB.recordset: differenze e utilità. Classic ASP 5
metalgemini ADODB.Recordset error '800a0bb9' Classic ASP 7
grottafelix ADODB.Field (0x80020009) Classic ASP 10
V [JAVA] come integrare un software scritto in java su una pagina web? Java 4
W Integrare Javascript in PHP PHP 14
M [WordPress] [HTML] INTEGRARE GESTIONALE IMMOBILIARE SU UN SITO WEB DA FARE WordPress 0
F Integrare I Post Di Wordpress.com In Una Pagina HTML WordPress 2
P [HTML] integrare Google pagina web HTML e CSS 5
otto9due Form personalizzato in bootstrap da integrare nel tema wordpress WordPress 0
C Come posso integrare il bottone "paga adesso" di paypal e un form php per invio dati? PHP 1
ecosito Integrare i post di Wordpress.com in una pagina HTML HTML e CSS 1
K Integrare player per streaming mss:// nella mia App Sviluppo app per Android 0
C Integrare sito html e Joomla Joomla 8
S integrare diversi tipi di pagamento in un sito web, e convalidare l' iscrizione PHP 8
voldemort Integrare moduli in R in un simulatore Java Java 1
T Integrare AdMob dentro app Android Sviluppo app per Android 2
T Integrare bottone stampa in app Android Sviluppo app per Android 1
S integrare RSS tramite codice - no tool esterni Javascript 4
P Integrare php con java PHP 20
Emix Problema nell'integrare uno script ad un altro esisnte... Ajax 2
V integrare php/mysql con pagine html/css PHP 7
F integrare/collegare twitter al proprio sito PHP 1
Monital Integrare il mio script a joomla Joomla 2
W Non riesco a integrare php con html PHP 1
H Integrare script php in script php? PHP 78
Frank10 Non so come integrare una slideshow di immagini HTML e CSS 2
F Codice invio sms da integrare PHP 1
R integrare paginazione PHP 13
R Integrare (in modo completo) un blog in Wordpress con Facebook WordPress 2
S Integrare forum in pagina html HTML e CSS 0
V Ragazzi ho bisogno di un aiuto - integrare news in un sito - CMS (Content Management System) 5
M Integrare un cms al proprio sito web CMS (Content Management System) 3
M integrare un'applicazione fatta da me in joomla Joomla 3
K modulo invio mai:l non riesco ad integrare captcha PHP 18
S Integrare Wordpress HTML e CSS 0
C integrare 123flaschat in drupal CMS (Content Management System) 7
C integrare flash con stile mootools Flash 1
C integrare il database con fronypage? Database 1
W integrare fancybox e php PHP 4
catellostefano Integrare joomla a WHMCS Joomla 2
catellostefano integrare phpbb con joomla Joomla 7
G non riesco ad integrare l’interprete php nel server Apache su Vista PHP 2
catellostefano Integrare net2ftp_v0.97 su joomla Joomla 0
S integrare script per paginazione ad una pagina asp Classic ASP 11
P Script da integrare in vBulletin PHP 0

Discussioni simili