Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Caricare attachments su pagina ed invio form

    Ciao ragazzi,

    qualcuno saprebbe indicarmi come costruire una pagina contenente un form che permetta l'invio su di una seconda pagina, oltre che di alcune informazioni acquisite tramite textfield (diciamo le classiche di anagrafica - nome, cognome, ecc...), anche di uno o più files "allegati" alla pagina?

    Mi spiego meglio: mi servirebbe far in modo che l'utente possa "allegare" files alla pagina contenente il form (magari tramite il classico pulsante "Browse") e quindi possa, al momento dell'invio, vedere visualizzate sulla pagine di risposta tanto le informazioni passate via textfield quanto gli allegati alla pagina precedente.

    Chiedo scusa qualora questa non fosse ritenuta la sezione più adatta per tale quesito e ringrazio chiunque possa/voglia darmi una mano.

    Ciao

  2. #2
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    Devi usare un qualsiasi linguaggio di programmazione lato server, lo (x)html gestisce il trasferimento di un file ma non l'elaborazione dello stesso una volta arrivato a destinazione.
    Quando crei il form devi mettere anche il tipo mime, ovvero enctype="non me lo ricordo fai una ricerchina sul forum", questo unitamente al sistema di spedizione POST allega il file e lo invia al file definito nell'action del form, ma se questo non ha modo di elaborarlo il tutto si ferma lì.
    Se non ricordo male, ma potrei sbagliarmi, se in action è definito l'indirizzo di posta con il classico pseudo protocollo mailto: ti si apre il client di posta predefinito con i dati inviati serializzati.
    Ma, anche se fosse non puoi prenderlo come un assoluto dato che non sai nulla del client del visitatore e inoltre a quel punto che te ne fai di un form evoluto se poi comunque chi invia deve usare il suo programma di posta

  3. #3
    Ok. Chiaro.

    Ma focalizziamoci un attimo sulla prima parte del problema: allegare gli attachments alla pagina con il form.

    Immagino di avere un form con dei campi input-text, un button "Submit" in fondo alla pagina e, leggermente più su del "Submit", la classica accopiata text-field/button "Allega" che consente all'utente di sfogliare le sue directory locali e di selezionare un file.

    Mi manca come realizzare "l'Attach" del/dei files selezionati. Possibile vederne un esempio, anche semplice?

    Grazie mille, ciao

  4. #4
    Una faq dice:
    Per allegare un file in attach ad un form HTML devi utilizzare la sintassi <input type='file'> all'interno di un form che ti permetterà di selezionare un file
    Come recuperarne i valori invece spetta al linguaggio di programmazione che sceglierai (e che qui sarà OT)

    Ricordo inoltre che sul tag Form andrà specificato anche l'enctype (= multipart/form-data)
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  5. #5
    Originariamente inviato da FastMagister
    Mi manca come realizzare "l'Attach" del/dei files selezionati. Possibile vederne un esempio, anche semplice?
    Un esempio può essere quindi:
    codice:
    <form action="" name="upload" enctype="multipart/form-data" method="post">
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  6. #6
    Grazie ricman,

    quello che cercavo di ottenere pero' sarebbe un attimo più complesso: vero infatti che inserendo la sintassi <input type='file'> otterei di poter selezionare un file sfogliando le directory locali, ma a questo punto occorrerebbe un ulteriore button ("Allega") per eseguire l'azione di legare l'oggetto file selezionato alla pagina.

    Questo perchè l'utente dovrebbe poter allegare un numero di files > 1 non noto a priori.

    (Per rendere l'idea, un qualcosa di simile a quello che succede quando si allegano files alle mail usando le interfacce web della maggior parte dei provider. Una volta allegato un file, ne viene visualizzato il nome sulla pagina, ma si potrebbero allegare ancora alti files...).

    Come sarebbe fattibile una cosa del genere?

  7. #7
    Originariamente inviato da FastMagister
    Come sarebbe fattibile una cosa del genere?
    Quello che vuoi fare tu è mooolto complesso (e naturalmente il solo html non basta).

    Ma magari ti potresti accontentare di mettere, ad esempio, 6 (il tuo >1) input di tipo file e gestirli separatamente (es. >> Se file1 esiste prendiamolo in esamem Se file2 esiste prendiamolo in esame).
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  8. #8
    Utente di HTML.it L'avatar di Marcolino's
    Registrato dal
    May 2003
    residenza
    Udine
    Messaggi
    3,606
    @FastMagister quello accade perché tramite una chiamata asincrona (usando Ajax in primis) si interagisce con il programma lato server che gestirà di fatto l'invio, in pratica premendo "allega" non fai altro che richiamare uno script lato server che si incarica di copiare il file in una lista e rispondere con il nome dell'ultimo file allegato, poi il javascript scriverà qualcosa relativamente all'operazione appena compiuta come notifica a chi sta usando il form.
    Così vedrai ad esempio crescere la lista dei files allegati.
    Oppure, ancora peggio dal lato pratico, non si fanno chiamate al server vi asincrona, ma in modo fittizio non si fa altro, sempre con il javascript, di segnarti i nomi dei file da allegare e notificarli scrivendo da qualche parte la lista dei nomi.
    Comunque la giri ti ci vuole sempre e comunque un qualsiasi linguaggio che lato server interagisca con il form e poi fatti i dovuti controlli invii l'email.

  9. #9

    inserire un allegato al form

    Ciao a tutti, credo che il mio problema sia abbastanza semplice: vorrei inserire un allegato al form che ho creato; al momento l'unica cosa che sono riuscita ad ottenere è solo una scritta:
    "Allegato: C:\PHP\upload\php7B54.tmp".

    Cosa manca allle mie pagine?

    codice html


    codice:
    <form action="form.php" name="upload" enctype="multipart/form-data" method="post"> 
      <table bgcolor="#333333" align="center" border="0" width="700" cellspacing="1" cellpadding="5">
      <tr>
        <td align="center" bgcolor="#FFFFFF" colspan="11">
        <table bgcolor="#333333" align="center" border="0" width="700" cellspacing="1" cellpadding="5">
          <tr>
            <td align="center" bgcolor="#FFFFFF" colspan="11"><h3>MODULO ISCRIZIONE</h3></td>
          </tr>
          <tr>
            <td width="132">NOME:</td>
            <td width="545" colspan="10" align="center" bgcolor="#FFFFFF"><input name="nome" size=42 value="" /></td>
          </tr>
          <tr>
            <td>COGNOME: </td>
            <td align="center" bgcolor="#FFFFFF" colspan="10"><input name="cognome" size=42 value="" /></td>
          </tr>
          <tr>
            <td>EMAIL: </td>
            <td align="center" bgcolor="#FFFFFF" colspan="10"><input name="mail" size=42 value="" /></td>
          </tr>
          <tr>
            <td>Allegato:</td>
            <td align="center" bgcolor="#FFFFFF" colspan="10"><input type="file" name="allegato" /></td>
          </tr>
          <tr>
            <td align="justify" colspan="11"><div align="center">
              
    
    
                <input type="submit" value="INVIA" />
                <input type="reset" value="RESET" />
                <input type="button" value="INDIETRO" onclick="javascript:history.back()" name="button" />
              </p>
            </div></td>
          </tr>
        </table>      <h3></h3></td>
      </tr>
      </table>
    </form>

    codice php

    codice:
    <?
    ###########################
    #     Configuration       #
    #####################################################
    	$site_name = "info";			  	# Put here your Sitename or Company
    	$site_email = "info@mail.com";				# Put here your E-Mail adress
    ####################################################
    
    
    #####################################################
    # This below is the Information which will be sent to the customer
    #####################################################
    if ($nome == "" || $cognome == "" || $mail == "")
    	{
    	echo "<font color=red>ERRORE DI TRASMISSIONE</font></td></tr></table>";
    	echo "
    <font color=black> Errore:</font>
    Le ricordiamo che i campi 
    
    NOME, COGNOME, EMAIL, sono obbligatori";
    	}
    else
    	{
    	echo "<font color=black>LA RINGRAZIAMO PER ESSERSI ISCRITTO AL CORSO $corso. 
    
    
    	Riceverà una risposta entro 2 giorni lavorativi dall'invio della richiesta.</font></td></tr></table>";
    
    	
    	PRINT "<CENTER>";
    	PRINT "
    
    
    Grazie $nome per la Sua iscrizione.
    ";
    	PRINT "</CENTER>";
    
    
    	mail("$mail", "Grazie da $site_name!", 
    		 "Gentile $nome, 
    		 sarà ricontattato/a entro 2 giorni lavorativi. 
    		 Se ciò non accadesse per favore mandi una mail a $site_email.
    	____________________________________________________________
    
    	Ecco una copia della Sua Iscrizione:
    	
    	Nome: $nome
    	Cognome: $cognome
    	Email: $mail
    	Allegato: $allegato
    	
    	____________________________________________________________");
    
    	#######################################################
    	# This below is the information which will 
    	# be sent to the Administrator
    	#######################################################
    	
    	
    	mail("$site_email",
    	"richiesta da $nome",
    	"$email 
    	____________________________________________________________
    	
    
    	Nome: $nome
    	Cognome: $cognome
    	Email: $mail
    	Allegato: $allegato
    
    	____________________________________________________________");
    	}
    ?>

  10. #10
    Amministratore L'avatar di Vincent.Zeno
    Registrato dal
    May 2003
    residenza
    Emilia-Romagna (tortellini und cappelletti land!)
    Messaggi
    20,783
    @rebecca85,

    non collegarti a post vecchi per proporrre i tuoi interrogativi: apri nuovi argomenti.

    non è un problema HTML: manca la procedura di upload del file.
    chiedi in PHP.

    chiudo, ciao

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.