Problema campo invio files 
Autor: Paolo M.Ho un ENORME problema con il campo "invio file":
ho di recente fatto delle modifiche ad un sito che contiene circa 70 pagine dove in ognuna di esse c'è un form che invia dati ad un database, contenenti anche un campo "file".
dopo aver aggiornato il sito, probabilmente anche se avevo spuntato l'aggiornamento solo delle modifiche il sistema ha aggiornato anche altre cose, ora se invio un nuovo record in tabella il form crea un nuovo campo sulla tabella del database, e questo crea un casino.
se il nome del campo in tabella è "documento", lui crea un nuovo campo "documento_0", poi l'invio non va a buon fine, perchè è risaputo che non puoi lasciare un campo file vuoto dopo che l'hai riempito la prima volta.
ho verificato l'etichetta del campo ed è corretta, ho provato a cancellare la colonna aggiunta e riprovare, ma niente, non va.
cosa succede ?
possibile che il campo della tabella "documento" non sia accessbile ? riscontro problemi ad aggiungere un nuovo record anche dall'oggetto "database" di website, riesco a modificare i campi esistenti ma non ad aggiungere nuovi campi.
La stessa anomalia la sto riscontrando su una pagina di prova su un altro sito, che usa un database diverso.
La differenza in questo secondo esempio è che il campo "file" originario (Allegato) è impostato su "null", quindi il sistema riesce a completare l'azione memorizzando il nome del file in un campo che crea nuovo (Allegato_0)
Il secondo esempio è raggiungibile quì: https://www.evolusystem.com/form.php
qualcuno sta avendo lo stesso problema ?

Autor
aggiornamento: ho provato ad eliminare una tabella e farla ricreare al form, il problema è che la crea sempre aggiungendo un "_0" all'etichetta del campo "file"...
Assurdo...
Autor
Non è che c'entra qualcosa la nuova funzione di invio di files multipli ? che per altro su quel campo è disattivata.. forse li numera e crea una colonna per ogni file ? se fosse così però sarebbe sbagliato aggiungere il suffisso numerico se l'opzione è disattivata, anche perchè non sarebbe retrocompatibile con i lavori creati in precedenza...
Autor
No vabbè !! IL PROBLEMA E? ESATTAMENTE QUELLO !! Ma volete avvisare prima di fare una modifica del genere ?? se allego tre file mi crea 3 campi numerati. Ma se non abilito la funzione NON MI PUO CAMBIARE L'ETICHETTA DEL CAMPO !! E anche se la abilito, sarebbe ragionevole lasciare il primo campo con il nome originale !!
Ora come risolviamo ? correggete voi o devo andare a cambiare manualmente le etichette a tutti i campi di tutte le tabelle di tutti i siti che ho fatto ???
Autor
Tra l'altro c'è sempre un altro problema, noto e stranoto, ma che non si è mai risolto: una volta popolato un campo "file", non si può più lasciare vuoto, pena il fallimento dell'operazione di memorizzazione del record. L'unica soluzione che ho trovato è quella di andare MANUALMENTE ad impostare su NULL i campi files. Ma se il form poi li genera in automatico in base al numero di files caricati, come posso prevedere quando verrà creata una nuova colonna sulla tabella ? Aggiungete voi l'attributo NULL a quei campi quando vengono creati !!
Buongiorno Paolo,
mi dispiace per l'inconveniente, verificherò la situazione per riportare la segnalazione al team di sviluppo.
Potresti chiarirmi cosa intendi con "una volta popolato un campo "file", non si può più lasciare vuoto, pena il fallimento dell'operazione di memorizzazione del record" ?
Grazie.
Autor
Se ne è discusso 100 volte, se crei il form con campo file non obbligatorio puoi ovviamente inviare dati anche lasciando vuoto il campo "file". Dopo la prima volta che invii un allegato, dalla volta successiva non puoi più lasciarlo vuoto, poichè i dati non vengono più memorizzati nella tabella. Me lo fa sia su hosting windows sia su hosting linux di Aruba.
Autor
Ho assolutamente bisogno di capire se intendete risolvere il problema in tempi brevi, altrimenti devo mettermi a modificare decine di tabelle. Non vorrei poi trovarmi a doverle riportare allo stato di partenza dopo una vostra eventuale modifica al sistema.
Buongiorno,
che tipo di database utilizzi di preciso?
Ho verificato la situazione con un progetto generato in una versione precedente al cambio del Modulo Contatti, procedendo poi a convertirlo,
e sebbene risulti cambiata la nomenclatura del campo della tabella, non ho riscontrato problemi nel salvataggio dei dati, in questo screenshot le prime due compilazioni sono nel sito con modulo contatti alla versione 2023.3 e le altre due della versione 2025.2, e la presenza del precedente campo non più utilizzato non ha causato malfunzionamenti nel salvataggio dei dati sul database:
Non ho invece potuto replicare il comportamento descritto, se non ho frainteso quanto descritto: qui la tabella associata a un Modulo di Contatto in cui è presente il campo per gli allegati, dopo la prima compilazione con un file non ho riscontrato l'assenza dei dati relativi alla seconda compilazione, avvenuta senza inserire alcun file.
Autor
Il database è un MySql di aruba, quelli che uso di solito.
Puoi fare il test da quì: https://www.evolusystem.com/form.php
Il campo "Allegato" è quello vecchio, creato prima dell'aggiornamento, dove avevo impostato manualmente di default "null" per farlo funzionare anche senza allegato.
I campi con il suffisso _0, _1, _2 sono quelli creati dopo. Se non li riempi tutti e tre vedrai che non ti memorizza il record.
In linea di massima bisognerebbe correggere in modo che il campo "0" rimanesse senza suffisso, questo assicurerebbe la compatibilità con tutte le tabelle create prima dell'aggiornamento.
Inoltre non sarebbe male poter indicare un numero massimo di file da poter allegare, questo permetterebbe di mantenere gestibile la tabella nel caso (come il mio) in cui servano degli automatismi su quei campi.
Autor
C'è da dire anche un'altra cosa: l'oggetto "database viewer" di website non funziona con versioni di php superiori alla 8.2, quindi ci costringe a rimanere indietro ad una versione che probabilmente tra non molto verrà deprecata....
Buongiorno,
appena mi sarà possibile accedere alla pagina procederò a verificare quanto descrivi.
Per quanto riguarda DB Viewer, al momento il programma stesso supporta ufficialmente la versione 8.2 di PHP come versione massima.
Autor
Perdonami Eric, ero sicuro di aver tolto la protezione.
Ora la pagina è aperta, tanto è un mero test.
Rimetto il link: https://www.evolusystem.com/form.php
Se non metti 3 o più allegati non registra il record, anche se da esito positivo.
Se ne metti più di 3 ovviamente crea delle nuove colonne, ma da li in poi andranno riempite tutte o non memorizzerà di nuovo il record.
Buongiorno,
potresti cortesemente darmi maggiori informazioni sul tuo database, come la versione di MySQL?
Il comportamento da te descritto non risulta riproducibile testando sul nostro spazio web e potrebbe essere quindi legato a una tua configurazione, qui una pagina configurata in modo analogo come la tua:
https://eric-c.websitex5.me/progetti/test-database/tabelle.html
Sia sul DB Viewer che nella tabella verificandola su PHP MyAdmin i record risultano regolarmente registrati e visibili anche se il campo "allegato" creato nel Modulo Contatti originario non viene più popolato, in quanto ora sostituito da allegato_0 dopo la conversione del sito di prova.
Autor
vedo questi dati sulle info del server:
suppongo quindi 5.7
Autor
Potrei tentare eliminando la tabella e facendola "ricreare" al form. Pensi possa essere utile ?
Buongiorno Paolo,
non dovrebbe essere necessario eliminarla, puoi anche procedere specificando una nuova tabella sia nel Modulo che nel DB Viewer per poi popolarla con una prima compilazione.
Nel frattempo sto procedendo a segnalare la cosa per verificare se il tipo di database in questione possa portare a questa differenza nel comportamento.
Autor
Ho ripetuto il test in una nuova tabella come abbiamo detto,ma ottengo sempre lo stesso problema.
Vorrei comunque ripetere che questo comportamento era pre-esistente all'aggiornamento per l'invio di files multipli.
Inoltre il problema principale che mi affligge è quell'aggiunta di _0 al primo campo "file", perchè di fatto mi cambia tutte le tabelle gia operative.
Buongiorno Paolo,
ho verificato e non è stato esaminato il supporto completo per quanto riguarda Percona come tipologia di server, rispetto a MySQL e MariaDB.
Ti suggerirei di contattare Aruba per interpellarli sulla questione, in quanto la generazione dei nuovi campi e la presenza di altri non riempiti non dovrebbe precludere la registrazione dei dati, anche senza l'inserimento manuale del null.
Autor
Ok, ma il focus del post non è quello. Il problema è il cambio di etichetta del campo "file".
Buongiorno Paolo,
la modifica avvenuta con l'aggiunta degli allegati multipli, con il cambio di nome del campo aggiungendo il suffisso numerico, non dovrebbe portare a modifiche nel comportamento della registrazione dei dati: non abbiamo avuto segnalazioni in tal senso da altri utenti, è quindi probabile che la cosa avvenga solo su specifiche configurazioni per i database, non mi è infatti stato possibile replicarlo con il database incluso nei nostri spazi web.
E' per questo motivo che ho suggerito un contatto verso Aruba per verificare i dettagli della situazione.
Resto a disposizione.
Autor
Mi pare che ci sia un grave problema di incomprensione: se ho fatto un sito prima dell'aggiornamento, il campo file si chiama "allegato", dopo l'aggiornamento, sulla stessa tabella, il campo "allegato" viene totalmente ignorato e ne viene creato un'altro chiamato "allegato_0", e da quel momento il nome dell'allegato verrà memorizzato nel nuovo campo anziche nel campo originario nella tabella già esistente. Questo crea un problema ai siti precedenti l'aggiornamento.
Buongiorno Paolo,
potresti chiarirmi a quali problemi ti riferisci?
Qui quanto hai menzionato:
"se il nome del campo in tabella è "documento", lui crea un nuovo campo "documento_0", poi l'invio non va a buon fine, perchè è risaputo che non puoi lasciare un campo file vuoto dopo che l'hai riempito la prima volta."
"Dopo la prima volta che invii un allegato, dalla volta successiva non puoi più lasciarlo vuoto, poichè i dati non vengono più memorizzati nella tabella."
"I campi con il suffisso _0, _1, _2 sono quelli creati dopo. Se non li riempi tutti e tre vedrai che non ti memorizza il record.
In linea di massima bisognerebbe correggere in modo che il campo "0" rimanesse senza suffisso, questo assicurerebbe la compatibilità con tutte le tabelle create prima dell'aggiornamento."
Questi problemi di mancata registrazione dei dati in presenza nei nuovi campi quando rimangono vuoti non sono però generalizzati, per questo motivo ho fornito quel suggerimento, così da verificare se sono legati a una specifica configurazione del tuo database: negli esempi portati in precedenza ho appositamente usato un sito creato con una versione precedente all'aggiornamento, portandolo poi alla versione attuale senza che la tabella mostrasse anomalie nell'invio dei dati.
Se hai riscontrato invece anche altri problemi o malfunzionamenti e ho frainteso la situazione, potresti darmi maggiori informazioni?
Grazie.
Autor
Il problema principale è spiegato nei primi post, ma lo riscrivo sperando di essere in grado di farlo comprendere:
ho creato un sito un anno fa, con circa 70 pagine con altrettanti form per acquisire dati da esprimere in altrettante tabelle.
Ogni form ha diciamo 5 campi testo e un campo "file", e diciamo che al campo file ho dato l'etichetta "allegato".
All'inserimento del primo record si è creata la tabella del tipo:
"campo1", "campo2", "campo3", "campo4", "campo5", "allegato"
e la tabella si è popolata sempre perchè tutti i campi sono obbligatori.
Dopo fatto l'aggiornamento, dopo aver inserito un nuovo campo,la tabella è diventata:
"campo1", "campo2", "campo3", "campo4", "campo5", "allegato", "allegato_0"
e da quel momento in poi, il nome del file, non viene più memorizzato sulla colonna "allegato", ma su "allegato_0".
Così adesso ho una parte dei files memorizzati nella colonna "allegato", e un'alra parte in quella "allegato_0.
Su ognuna delle 70 tabelle c'è poi un automatismo legato al campo "allegato", che ovviamente non funziona più sui nuovi record.
Quindi, il problema è il cambio di etichetta.
Buongiorno Paolo,
quindi la questione è legata all'automatismo a cui fai riferimento, in quanto questo va a prelevare i dati solo del campo originario?
Di cosa si tratta, esattamente, e non è possibile fare sì che tenga conto anche degli altri campi analoghi?
Autor
Ti stai rendendo conto che devo modificare a mano tutti i lavori fatti negli anni precedenti e che in questo momento i miei clienti hanno un disservizio ?
Autor
Il fatto poi dello sdoppiamento del campo "allegato" per te non rappresenta una anomalia ? un problema ?
Buongiorno,
il cambio di nomenclatura non è un'anomalia, ed è stato voluto per rendere questi campi più omogenei e semplici da gestire con l'aggiunta degli allegati multipli.
Non è previsto un ritorno all'utilizzo del nome precedentemente assegnato (anche per i moduli senza allegati multipli).
Il cambio non porta a problemi nelle configurazioni più diffuse per i database, tuttavia per la tua situazione specifica ciò porta a malfunzionamenti.
Per quanto riguarda la mancata registrazione dei dati nel caso in cui non vengano compilati campi che, in passato, lo sono stati, sembrerebbe trattarsi di una questione legata alla configurazione del tuo database in quanto non è il comportamento standard, e suggerirei di verificare la possibilità di impostare i campi come NULL in modo che non risulti necessario che abbiano contenuto.
Per l'automazione, potresti fornire maggiori informazioni?
Potrebbe essere possibile far sì che tenga conto dei nuovi campi creati.
Resto a disposizione.
Autor
Quindi,
se ho capito bene,
ieri il vostro software ha creato una tabella con dei campi, con delle etichette definite dall'utente,
oggi cambiate il software, il software cambia le etichette, creando disordine nelle tabelle,
e secondo voi non è un problema ? non è un vostro errore ?
Buongiorno Paolo,
non abbiamo in effetti tenuto conto dei campi pre-esistenti con nomenclatura differente, tuttavia ciò è anche in quanto tali modifiche, per le configurazioni standard più diffuse, non portano a effettivi cambiamenti nel funzionamento delle tabelle/della registrazione dei dati al loro interno, a eccezione di una visualizzazione differente della tabella nel caso in cui è presente il Database Viewer.
Per questo motivo sto tentando di approfondire la questione relativa alla configurazione specifica che tu utilizzi, in modo da comprendere meglio la situazione e poter fornire supporto relativo al disagio causato.
Resto a disposizione.
Autor
Fatemi sapere se è percorribile la strada del ritorno all'etichetta senza suffisso nel caso in cui non venga spuntata la funzione "file multipli", o per il primo campo creato, altrimenti devo risolvere manualmente.
Inutile dire che questo non depone a favore del software.
Buongiorno Paolo,
confermo che non sono previsti ritorni alla precedente nomenclatura dei campi.
Autor
Ok, grazie Eric.