continuare script dopo errore

loreberti10

Utente Attivo
22 Set 2012
43
0
0
ciao a tutti, ho un problema, io ho un form di inserimento immagini, quello che ho fatto è fare un controllo sulla grandezza delle immagini il codice è questo:
PHP:
if(isset($_REQUEST['invia'])){ 
   for($i = 0; $i<11; $i++){ 
   if((!isset($_FILES["foto$i"])) || ($_FILES["foto$i"]["error"] != UPLOAD_ERR_OK)){
     }else{ 
	 if ($_FILES["foto$i"]['size']>450000){
die("Errore: dimensioni del file $i troppo grandi!");
}
	  $ant = 0;
	  $principale = $_POST['principale'];
 if($i == $principale){ $ant = 1;}else{$ant = 0;}

	 $selezione = mysql_select_db($dbname, $conn);
	if ($selezione==FALSE) { echo "errore nel db";} 
	else{
	   $nome_file_temporaneo = $_FILES["foto$i"]["tmp_name"];
      $nome_file_vero = $_FILES["foto$i"]["name"];
      $tipo_file = $_FILES["foto$i"]["type"];
// con questa successiva riga di codice leggo il contenuto del file
$dati_file = mysql_real_escape_string(file_get_contents($nome_file_temporaneo));

$query = "INSERT INTO foto_immobile(idfoto_immobile , foto_immobile , nome_foto_immobile , tipo , dati, principale) VALUES ('' , '$id', '$nome_file_vero' , '$tipo_file' , '$dati_file', '$ant')"; 
              
$risultatofoto = mysql_query ($query , $conn );
				if ($risultatofoto==FALSE) {
					echo "Errore nella query : " . mysql_error();					
				}   else{  
				echo "Immagine $i Inserita<br/>";
			}
		}
	}
}
}

Ora il mio problema è che nello stesso form ho piu input di inserimento, e al primo errore che trova si ferma lo script, cioè se ad esempio la prima immagine è troppo grande lo script si ferma e non aggiunge le altre, io vorrei che se trovasse l'errore lo script continuasse a fare il controllo con l'immagine sotto;
So che il die() ferma lo script, ma anche se inserisco echo/print mi da l'errore :
Codice:
Warning: mysql_query() [function.mysql-query]: MySQL server has gone away in C:\xampp\htdocs\DNA\pubblica_img.php on line 145

Warning: mysql_query() [function.mysql-query]: Error reading result set's header in C:\xampp\htdocs\DNA\pubblica_img.php on line 145
Errore nella query : MySQL server has gone awayerrore nel db
e si ferma...come posso fare per far ripartire il ciclo dall'immagine sotto?
 
Ultima modifica di un moderatore:

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ti posso consigliare un metodo per la gestione degli errori che uso spesso io

Setta un array per gli errori all'inizio dello script
PHP:
$errori = array();

quando subentra un errore aggiungilo
PHP:
if(...errore...) $errori[] = 'errore 1';

e poi fai un controllo alla fine se non ci sono errori prosegui sennò li stampi
PHP:
if(count($errori)>0) echo 'Errori:<br>'.join('<br>',$errori);

else{
 //esegui la query e prosegui
}

Se non dovesse dipende ne da una gestione degli errori sbagliata o dall'utilizzo di die() prova ad aumentare il tempo di timeout di mysql per le query
 

loreberti10

Utente Attivo
22 Set 2012
43
0
0
Ti posso consigliare un metodo per la gestione degli errori che uso spesso io

Setta un array per gli errori all'inizio dello script
PHP:
$errori = array();

quando subentra un errore aggiungilo
PHP:
if(...errore...) $errori[] = 'errore 1';

e poi fai un controllo alla fine se non ci sono errori prosegui sennò li stampi
PHP:
if(count($errori)>0) echo 'Errori:<br>'.join('<br>',$errori);

else{
 //esegui la query e prosegui
}

Se non dovesse dipende ne da una gestione degli errori sbagliata o dall'utilizzo di die() prova ad aumentare il tempo di timeout di mysql per le query
Ciao si anche io in genere gestisco gli errori cosi, forse allora è per il timeout del server...ma se modifico il timeout dal file php.ini, andrò in contro ad alcuni problemi quando dovrò caricare sul server la pagina?
 

Nefyt

Utente Attivo
17 Apr 2012
1.102
0
0
Ciao si anche io in genere gestisco gli errori cosi, forse allora è per il timeout del server...ma se modifico il timeout dal file php.ini, andrò in contro ad alcuni problemi quando dovrò caricare sul server la pagina?

Non devi modificare il timeout del php.ini ma nella configurazione di mysql, cioè nel my.ini aumenta gradualmente il wait_timeout e il connect_timeout
 

loreberti10

Utente Attivo
22 Set 2012
43
0
0
Non devi modificare il timeout del php.ini ma nella configurazione di mysql, cioè nel my.ini aumenta gradualmente il wait_timeout e il connect_timeout

Grazie, sono riuscito senza modificare niente nel file di configurazione, ho utilizzato il metodo che mi hai consigliato, ho fatto l'array e guardato se per particolar indice c'era un errore semplicemente non inserivo...Grazie risolto!
 
Discussioni simili
Autore Titolo Forum Risposte Data
E continuare a programmare in ASP? Discussioni Varie 4
B come legalizzare e cosa fare per continuare la riproduzione di mp3 cambiando pagina Leggi, Normative e Fisco 2
P Passare solo alcuni parametri a script per CSV PHP 0
M Collegamento tra form html e script php PHP 4
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
P Script upload immagini jQuery 0
M Premature end of script headers PHP 1
Cosina script data aggiornamento pagina Javascript 1
R Distribuire uno Script "Facebook Auto Post" PHP 0
F Creazione script Tv Presentati al Forum 1
N Script elenco file HTML HTML e CSS 5
felino PHP e script generazione file excel PHP 2
MarcoGrazia Se non sai se riceverai da GET o da POST, puoi verificarlo e far scegliere allo script. Snippet PHP 0
Beppe2 Ritardare esecuzione script Javascript 2
R Primo script in PHP / CSS PHP 4
felino Script PHP per leggere un file JSON. autenticazione? PHP 4
T [a pagamento] programmatore PHP che mi aiuti a migrare gli script da vecchia versione PHP a nuova Offerte e Richieste di Lavoro e/o Collaborazione 1
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
F Aiuto java script Javascript 2
Max 1 [PHP] Script che funziona in locale e non online PHP 16
O [PHP] inviare dati da form e script ajax PHP 0
P [PHP] Aggiungere un mio script a prestashop? PHP 10
D [Javascript] inserire uno script in un file php Javascript 6
Gabriele15497514 php testo errato durante la lettura del file txt quando lo script viene eseguito contemporaneamente PHP 3
R [Javascript] Aiuto su questo script Javascript 2
M [HTML] Stesso script su 2 blog CMS (Content Management System) 4
romeocharly [PHP] Script per rinominare in automatico le immagini inviate da ftp PHP 0
elpirata [Javascript] Lo script alle volte funzione altre volte no Javascript 0
A [PHP] Script con array con numeri che iniziano per 00 PHP 2
F [HTML] Failed script su coffee cookies HTML e CSS 1
TpD [PHP] Script per organizzazione presenza eventi PHP 3
D [PHP] script che invii una mail automatica dopo risposta ad una discussione di un forum PHP 0
T interpretare uno script php non fatto da me... PHP 3
Cosina Modifica script textarea jQuery 0
O Script PHP e loro visibilità PHP 4
A [PHP] Script Ip camera su altervista senza sottocartelle PHP 6
M [PHP] Problema script ricezione e invio posta... PHP 1
Y Codice AdSense su script php PHP 4
L [PHP] Problema Script 'Not Found' PHP 4
webmachine [PHP] Script per censurare parole PHP 4
L [HTML] Domanda: Utilizzo script HTML e CSS 0
C richiamare una funzione in un altro script php PHP 1
otto9due GDPR 25 Maggio - script per attivare analytics, facebook ecc.. dopo il consenso. jQuery 14
W [Javascript] Eseguire script residente nel sistema da html remota Javascript 0
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
B [PHP] hp script creare un utente diminuendo -1 e cosi via PHP 1
Y Modificare script php PHP 5
F [HTML] SCRIPT CGI HTML e CSS 5
paloppa [PHP] script importati da internet o da file PHP 24

Discussioni simili