Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026
La parola d'ordine al Nextcloud Summit 2026, che si è tenuto a Monaco, è stata "sovranità". Non come è spesso usato questo termine in politica ma, al contrario, come capacità positiva di decidere il proprio destino tecnologico, con modalità collaborative e aperte. L'Europa dice già molto nel mondo open source, che viene visto come mezzo per ottenere la tanto agognata autonomia digitale
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-05-2011, 15:33   #1
Ludo237
Member
 
L'Avatar di Ludo237
 
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
[PHP] Controllo server-side su form dinamico

Ciao a tutti.
Sto provando a realizzare, a scopo personale ed educativo in vista dell università per l'anno prossimo , un controllo sui file caricati da un utente via form.
la cosa è abbastanza banale se si pensa ad un form statico si può effettuare tranquillamente cosi
Codice PHP:
if(!is_uploaded_file($_FILES['img_upload']['tmp_name']))
{
    
$check false 
    echo 
"non hai caricato l'immagine-.-" 

Il mio problema sorge quando il form non è statico ma dinamico.. cioè tramite un tastino (un +) ho creato uno script Jquery che inserisce nel form un nuovo campo per caricare un nuovo file .. questo si può fare N volte, anche se il limite massimo imposto dal mio script per ora è 10.
il campo è questo
Codice HTML:
<div class="input">
<label class="new_etichetta_req">File:</label>
<input type="file" name="img_upload[]" class="img_prs" value=""/>
</div>
e ogni volta che si schiaggia il tastino + del mio form si aggiunge un campo uguale identico a quello sopra citato.
io riesco a maneggiare tutti i file caricati e smazzarli nella/e cartella/e che voglia PERO' non riesco a fare il controllo del campo obbligatorio perchè, ovviamente se uso un controllo come
Codice PHP:
if(!is_uploaded_file($_FILES['img_upload']['tmp_name']))
{
    
$check false 
    echo 
"non hai caricato l'immagine-.-" 

Mi da errore dicendo che la funzione is_uploaded_file si aspetta una string e non un array...

come posso effettuare questo controllo? sono stato chiaro ?
Ludo237 è offline   Rispondi citando il messaggio o parte di esso
Old 04-05-2011, 15:51   #2
Ludo237
Member
 
L'Avatar di Ludo237
 
Iscritto dal: Feb 2009
Città: Varese
Messaggi: 205
Risolto...
Posto la soluzione se qualche altro utente un giorno dovrà affrontare il problema

in jquery io creavo il campo cosi
Codice:
$("#add").click(function(e){
			var name = $(".img_prs").size() + 1 ;
			//alert($("#times").val()) ;  
			if(name == 10) 
			{
				alert("Hai raggiunto il massimo di file che puoi caricare contemporaneamente...") ; 
				e.preventDefault() ; 
			}
			else
			{
				$('<div class="input"> <label class="new_etichetta_req">File:</label><input type="file" name="img_presentazione[]" class="img_prs" value="" /> </div>').appendTo('#fieldset') ;
				$("#times").val(name) ;  
			}
		}) ;
ho realizzato che bastava creare un campo hidden (Times...) con value uguale al numero di campi per caricare file presenti nel form
poi, in php, controllo tramite un ciclo
Codice PHP:
$volta $_POST['times'] ; 
for(
$i=1$i<=$volta $i++) 
{
  if(!
is_uploaded_file($_FILES['img_presentazione']['tmp_name'][$i-1]))
     {
         
$check false 
         
$errori .= "<li>Per creare l'album devi almeno inserire un immagine. il campo è obbligatorio</li>" 
     }

Ludo237 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Google Pixel 10 Pro crolla a 699€ in off...
I primi computer quantistici utili a liv...
Washington punta il dito contro ASML: se...
Data center, IA e rinnovabili: cos&igrav...
Doppia memoria, doppia potenza: la GeFor...
Il Galaxy S26 FE sta arrivando ma non av...
Lenovo Idea Tab Plus in offerta al Prime...
Hisense: il Prime Day sorprende con un T...
Reolink apre il Prime Day 2026 con scont...
Android 17 sui Pixel con qualche intoppo...
Prime Day, le offerte per i giocatori: M...
Una Tesla Model 3 sfonda una casa e ucci...
La cometa 3I/Atlas è una finestra sul "m...
NVIDIA punta sui data center AI raffredd...
Galaxy Watch Ultra 2 protagonista dei nu...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v