Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Come si fa a inviare ad un e-mail i risultati di un modulo?

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

quesito..

Postdi silvia_webmaster » 03/05/05 19:25

Ciao, ho inserito nel modulo anche 2 pulsanti di selezione, che sintassi devo inserire nella pagina .php?

io ho inserito una cosa del genere

$msg .= "Torta Personalizzata?:\t$si \t$no\n\n";

ma quando mi arriva l'email il campo Torta Personalizzata è vuoto!!

Qualcuno ha idea del motivo???? Ciao grazie a tutti
Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Sponsor
 

Postdi Dylan666 » 03/05/05 19:36

Che intendi per pulsanti di selezione? I radio, cioè i pallini tonid? O i quadratini, chiamati check box? Se non lo sai metti il pezzo dicodice che li riguarda.
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi *~Hayabusa~* » 03/05/05 19:36

Così non si capisce, praticamente $si e $no dovrebbero scrivere rispettivamente si e no nelle tue intenzioni, giusto?

Allora, se ho capito fa così:
il campo torta personalizzata come lo hai fatto? L'importante alla fine che il suo valore vada in una var tipo $tortapersonalizzata che conterrà o si o no.

Poi quando fai la stampa e gli passi la var devi scrivere:

$msg .= "Torta Personalizzata?:\t $tortapersonalizzata\n\n";

Scrivi il codice che vediamo di darti una risposta più completa. ;)


HTH :)
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi *~Hayabusa~* » 03/05/05 23:52

oppure se metti il check box tipo questo:
Codice: Seleziona tutto
<input type="checkbox" name="tortapersonalizzata" value="SI"> 

poi nella pagina che riceve che poi manda la mail puoi scrivere:
Codice: Seleziona tutto
if (empty($tortapersonalizzata)) {
$msg .= "Torta Personalizzata?:\t no\n\n";  } else
{ $msg .= "Torta Personalizzata?:\t Si\n\n";  }


Facci sapere se così ti va bene.

HTH :)
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 04/05/05 00:38

se ci pensi però come aveva fatto silvia era più pratico: su una stessa riga aveva il valore sì o no e l'altro restava vuoto e non compariva, non c'era bisogno di IF.
Secondo me ha solo sbagliato mettendo il value al posto del name.

Mettiamo caso che tu hai due campi:

Codice: Seleziona tutto
<input type="checkbox" name="conferma" value="SI"> 
<input type="checkbox" name="rifiuta" value="NO"> 


Diventa
Codice: Seleziona tutto
msg .= "Torta Personalizzata?:\t$conferma $rifiuta\n\n";
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Triumph Of Steel » 04/05/05 07:52

con il checkbox vuol dire che una persona può rispondere sia SI che NO, è sbagliato!

e invece bisogna usare i radiobutton, e assegnarli lo stesso nome di campo, e un valore diverso.

Codice: Seleziona tutto
<input type="radio" name="CustomCake" value="SI">SI
<input type="radio" name="CustomCake" value="NO">NO


in questo modo può scegliere o SI oppure NO, non tutte e due!

Codice: Seleziona tutto
#PHP
$msg .= "Torta personalizzata: ".$CustomCake."";
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi *~Hayabusa~* » 04/05/05 09:38

Vanno bene tutti e 3 i metodi, adesso Silvia deve vedere quale le piace di più graficamente perchè di certo non è un problema fare un if o mettere 2chekbox invece di 1 o 2 radiobutton.

Io avevo optato per il singolo checkbox perchè cosi nel form poteva mettere una cosa tipo:

..altri campi...
Torta personalizzata []
...altri campi...
Il fatto che lo chekki significa che la vuoi mi pare logico.
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 04/05/05 11:32

Triumph Of Steel ha scritto:
Codice: Seleziona tutto
<input type="radio" name="CustomCake" value="SI">SI
<input type="radio" name="CustomCake" value="NO">NO


in questo modo può scegliere o SI oppure NO, non tutte e due!

Codice: Seleziona tutto
#PHP
$msg .= "Torta personalizzata: ".$CustomCake."";


È decisamente il metodo milgiore :D
Due opzioni con lo stesso nome, tanto coi radio ne viene selezionato uno solo per forza :D :D
L'importante e non sbagliarsi e farlo anche coi Check box
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi *~Hayabusa~* » 04/05/05 11:57

Dylan666 ha scritto:Due opzioni con lo stesso nome, tanto coi radio ne viene selezionato uno solo per forza :D :D

:mmmh:
Anche il checkbox ha 2 opzioni: si se lo selezioni, no se non lo fai.

Usando 2 checkbos/radio devi passare un parametro in più quando chiami la pagina, usando un solo check deva fare uno stupidissimo if..

Scusami se insisto ma non mi pare che sia la svolta del secolo..
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 04/05/05 12:04

Se dai lo stesso nome a 3 checkbox e fai un echo quante opzioni ti vengono scritte?
E se lo fai con 3 radio?

Dì quello che ti pare, a me la soluzione di ToS pare la più semplice ed elegante ;)
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi *~Hayabusa~* » 04/05/05 12:48

Dylan666 ha scritto:Se dai lo stesso nome a 3 checkbox e fai un echo quante opzioni ti vengono scritte?

Secondo logica faccio 3 assegnamenti quindi mi scrive solo l'ultimo.

Dylan666 ha scritto:E se lo fai con 3 radio?

Anche qui ne scrive solo uno.

Dylan666 ha scritto:Dì quello che ti pare, a me la soluzione di ToS pare la più semplice ed elegante ;)

Gia fatto ;)
Volevo essere d'aiuto, non creare scompiglio :D
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 04/05/05 13:03

Nessuno scompiglio figurati.
:) Tornando al topic:


*~Hayabusa~* ha scritto:
Dylan666 ha scritto:Se dai lo stesso nome a 3 checkbox e fai un echo quante opzioni ti vengono scritte?

Secondo logica faccio 3 assegnamenti quindi mi scrive solo l'ultimo.


Esatto, quindi non va bene. È vero che i checkbox hanno 2 stati (selezionato e non selezionato) ma se selezionassi tutti e 3 i valori ti arriverebbe solo lo stato dell'ultimo.

Dylan666 ha scritto:E se lo fai con 3 radio?

Anche qui ne scrive solo uno.[/quote]

Perfetto, ne scrive uno solo, ma tanto ne può essere selezionato uno solo, per la natura del campo. Cioè coi radio se metto 3 voci il pallino appare solo in uno dei tre, non posso selezionare 2 campi o magari tutti. Quindi si è aggirato il bisogno di un IF sfruttando la meccanica di selezione esclusiva di quello specifico elemento.

Fra l'altro mi piace l'dea di non complicare troppo lo script perché silvia_webmaster si è appena avvicinata al PHP e vorrei mantenere il codice lineare in modo che si capisca quello che fa e lo possa modificare anche da sola ;)
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi Triumph Of Steel » 04/05/05 13:25

Soluzione *~Hayabusa~*

anche quella di mettere 1 solo checkbox non è male...
però bisogna decidere cosa fare dopo, nel senso:

se seleziona, viene scritto il valore della checkbox (che può essere SI)
se non lo seleziona, non viene scritto niente, oppure se è vuota la variabile viene scritto: NO.
questo vuol dire settare la variabile subito all'inizio come NO, e riempirla dopo se la variabile è piena.. insomma, un qualche IF ci vuole, che si può evitare con i radiobutton (uno dei due deve passare per forza)
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi Dylan666 » 04/05/05 13:31

Il problema è che se un giorno diventa una scelta a 3 campi è tutto da riscrivere e non sappiamo se silvia ci riuscirà. Invece con gli altri metodi i valori possono essere pure 100 radio.

Altra cosa: noi abbiamo supposto che i due valori siano per forza sì/no oppure on/off o vero/falso. Il giorno che vuoi mettere Maschio o Femmina vallo a fare con un checkbox pieno o vuoto, è scomodo e poco intuitivo.
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi *~Hayabusa~* » 04/05/05 15:12

Triumph Of Steel ha scritto:questo vuol dire settare la variabile subito all'inizio come NO, e riempirla dopo se la variabile è piena..

E invece no.

Facciamo na cosa tipo traccia d'esecuzione:

Compilo il form e lo invio.

Nel caso io abbia selezionato il checkbox mi arriva una var contenente "SI" ( $tortapersonalzzata="SI"; )
Nel caso NON abbia selezionato il checkbox che arriva? Al max una var vuota ( $tortapersonalizzata=""; ).

Come scegliamo il messaggio?
Semplice, usiamo la funzione empty($var) in un IF.
Se la var è vuota allora non voglio la torta e al massaggio concateno la frase che dice no altrimenti ci concateno quella che dice si.

Per quanto riguarda il nome della var: non mi si può dire che si crea confusione..l'unica confusione si crea se nella pagina la riusi, come in tutti gli script, non solo nel form.


Dylan666 ha scritto:Il problema è che se un giorno diventa una scelta a 3 campi è tutto da riscrivere e non sappiamo se silvia ci riuscirà.

Un giorno Silvia metterà nel form:
Vuoi la torta personalizzata?:
SI []
NO []
Ci penso e poi te lo dico []
:lol: Se dobbiamo dare consigli di programmazione, e vogliamo farla ragionare in modo da indurla a pensare alla facilità di modifica allora si..


Io avevo pensato allo script in questo modo perchè mi sembra che il form ne esca più snello e intuitivo :roll:
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 04/05/05 22:03

A me non sembra più snello e intuitivo, anzi. :roll:
Poi il campo non so se ha veramente due voci, e se sono veramente sì e no. Una certe volte nell'esempio semplifica, di sicuro nel forum non esisterà evramente $tortapersonalizzata :lol: E poi è bello creare un qualcosa di facilmente espandibile per il futuro, cosa che gli IF non danno.
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

WOOOOW!

Postdi silvia_webmaster » 05/05/05 19:18

Cavoli ragazzi GRAZIE MILLE! Siete veramente "saputissimi" come direbbe una mia amica.....mi avete illuminato e ho capito ben 3 modi per fare quello che mi serviva. Ringrazio tutti, confesso che ho anche riso quando stavate x "litigare" per chi da la soluzione migliore. Adesso faccio un po' di prove, cmq la scelta che mi serve per adesso è un radiobutton, avevo scelto il CheckBox per Si/no perchè stranamente mi si selezionavano contemporaneamente i due radiobutton che avevo messo (forse un errore di visualizzazione nel browser?), cmq ora faccio qualche prova e vi dico.
Grazie a tutti, buona serata!

Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Re: WOOOOW!

Postdi *~Hayabusa~* » 05/05/05 20:15

silvia_webmaster ha scritto:mi avete illuminato e ho capito ben 3 modi per fare quello che mi serviva.

Che è meglio! :lol:

silvia_webmaster ha scritto:confesso che ho anche riso quando stavate x "litigare" per chi da la soluzione migliore.

Non si litigava, è lo spirito dell'appassionato, c'è foga! :P

Facci sapere se va!
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Re: WOOOOW!

Postdi Dylan666 » 05/05/05 20:31

silvia_webmaster ha scritto:cmq la scelta che mi serve per adesso è un radiobutton [...] stranamente mi si selezionavano contemporaneamente i due radiobutton che avevo messo


Quello capita se i radio non sono tutti dello stesso gruppo, se non hanno lo stesso name insomma. Esempio pratico:

Codice: Seleziona tutto
<form name="form1" method="post" action="">
  <p>
    <label>
    <input type="radio" name="Gruppo UNO" value="Sì">
    Accetta</label>
    <br>
    <label>
    <input type="radio" name="Gruppo UNO" value="No">
    Rifiuta</label>
  </p>
  <p>
    <input type="radio" name="Gruppo DUE" value="Boh">
    Forse </p>
</form>


I due radio del "Gruppo UNO" possono essere selezionati solo uno per volta. Invece il radio del "Gruppo DUE" appartiene ad un'altro insieme, quindi è indipendente dalle altre due voci e può essere selzionoto in contemporanea ad una di esse ;)
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi silvia_webmaster » 07/05/05 09:01

Ahhhhhhh.... adesso capisco tutto.....si si ora funziona. Grazie, alla prossima!

Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

PrecedenteProssimo

Torna a Programmazione


Topic correlati a "Come si fa a inviare ad un e-mail i risultati di un modulo?":

Windows Live Mail
Autore: aleyandro
Forum: Software Windows
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 11 ospiti