Christian Castelli
a- a+

Form HTML, le funzioni, gli operatori aritmetici

ELEMENTI BASE

Forms HTML e variabili in ColdFusion

Una modalità molto comune di inviare i dati ad un webserver è attraverso il riempimento di form HTML. Cisono due modi per sottomettere dei dati attraverso un form:il metodo GET e il metodo POST. Il metodo usato dal formviene stabilito dall'attributo del tag<form> (di default vale il metodo GET). Diseguito una descrizione sull'uso dei due metodi:

  • GET : attraverso questo metodo, i dati vengono spediti al server secondo coppie nome=valore come parte integrante dell'URL (query string). Il metodo GET è quello più comunemente usato per la ricerca delle pagine ed è molto utile quando è importante essere in grado di salvare nei preferiti la pagina risultante ( per esempio la pagina che viene restituita dopo che il form è stato sottomesso);
  • POST: attraverso questo metodo, i dati vengono spediti al server sempre sotto forma di coppie nome=valore ma in maniera del tutto trasparente all'utente. I due vantaggi principali di questo metodo sono:
    • 1) Le coppie nome-valore non sono visibili nella barradegli indirizzi, per cui dati sensibili quali lepassword non vengono mostrate a schermo;
    • 2) Si può eseguire l'upload di file (comeimmagini o documenti Office).

    Gli svantaggi principali invece riguardano l'impossibilità di salvare nei preferiti la pagina risultante.

L'esempio seguente è un semplice form HTML percalcolare il tempo che si impiega a percorrere una distanzaspecificata ad una certa velocità- Il codicesottostante non contiene codice ColdFusion. La paginadeputata a processare i dati inviati èProcessCalculator.cfm, che dovrebbe contenere ilcodice ColdFusion per la processazione dei dati inviati dalform.

Es. 1: Calculator.html

<html>  <head>   <title>Marathon Time Calculator</title>  </head>  <body>    <h1>Marathon Time Calculator</h1>    <form method="post" action="ProcessCalculator.cfm">  <table>  <tr>   <td>Your Name:</td>   <td><input name="yourname" type="text" size="30"></td>  </tr>  <tr>   <td>Your Speed:</td>   <td><input name="yourspeed" type="text" size="4"></td>  </tr>  <tr valign="top">   <td>Friend's Name:</td>   <td><input name="friendname" type="text" size="30"></td>  </tr>  <tr>   <td>Friend's Speed:</td>   <td><input name="friendspeed" type="text" size="4"></td>  </tr>  <tr>   <td>Units</td>   <td>    <select name="units">     <option value="mph">MPH</option>     <option value="kph">KPH</option>    </select>   </td>  </tr>  <tr>   <td colspan="2" align="right">    <input type="submit" value="Calculate">   </td>  </tr>  </table>  </form> </body></html>

 

<a href="/img/22/iframe_CF_bElem1.html" title="Vedi esempio">Vedi codice</a>;

 


Funzioni integrate

ColdFusion ha molte funzioni integrate per svariati compiti,come la manipolazione delle stringhe, la formattazione deidati, la gestione degli appuntamenti e degli orari,interpretazione di documenti XML, ecc.

La sintassi di una funzione ènome_funzione(argomenti), doveargomenti è una lista di zero opiù valori passati alla funzione.

Come per le variabili, i nomi delle funzioni sonocase-insensitive.

E' quasi impossibile memorizzare tutti i nomi dellefunzioni e i parametri che ognuna di esse necessita. Quindi,ogni sviluppatore ColdFusion dovrebbe aver un buon manuale diriferimento. Di seguito alcuni suggerimenti:

Ecco qui sotto una tabella introduttiva con le funzionipiù comuni per la gestione delle date e dell'ora.

Funzioni per date e ora

Funzione

Descrizione

Now() Restituisce l'ora e la data corrente del server.
DateFormat("date" [,"mask"]) Formatta la data secondo la maschera specificata.
TimeFormat("time" [,"mask"]) Formatta l'ora secondo la maschera specificata.
CreateDate(anno, mese, giorno) Crea un oggetto la cui data viene settata dai parametridella funzione mentre l'ora viene automaticamentesettata a 00:00:00.
IsDate(string) Ritorna true se la stringa può essere convertitain un oggetto che rappresenti una data valida.
DaysInMonth("data") Ritorna il numero di giorni nel mese specificato dalladata passata come parametro.

L'esempio qui sotto mostra queste funzioni in pratica:

Es 2: DateFunctions.cfm

<html>  <head>  <title>Date Functions</title>  </head>  <body>  <cfset RightNow = Now()>  <cfoutput>   #RightNow#<br />   #DateFormat(RightNow)#<br />   #DateFormat(RightNow,"mm/dd/yy")#<br />   #TimeFormat(RightNow)#<br />   #TimeFormat(RightNow,"hh:mm tt")#<br />   #IsDate(RightNow)#<br />   #IsDate("January 31, 2007")#<br />   #IsDate("foo")#<br />   #DaysInMonth(RightNow)#  </cfoutput>  </body></html>

 

<a href="/img/22/iframe_CF_bElem2.html" title="Vedi esempio">Vedi codice</a>;

 

L'output del codice soprastante sarà simile alseguente (per ovvie ragioni non potrà essere identicoal vostro risultato, tempus fugit):

{ts '2008-05-17 14:44:45'}
17-May-2008
05/17/08
14:44 PM
14:44 PM
YES
YES
NO
31

Ecco qui sotto invece una dimostrazione dell'utilizzodelle funzioni Now() eDateFormat():

Es 3: HelloWorldDate.cfm

<cfset greeting="Hello">  <cfset today = Now()>  <html>     <head>    <title>Hello World!</title>   </head>  <body>   <cfoutput>    #greeting#, World!<br>    Today is #DateFormat(Now(),"dddd, mmmm d, yyyy")#.   </cfoutput>  </body></html>

Ed ecco l'output di HelloWorldDate.cfm:

Hello World!
Today is Saturday, May 17, 2008.


Il carattere #

Potreste aver notato che non sono stati usati i caratteri"#" per contenere la funzione Now()nel tag <cfset>, mentre questi caratterisono presenti intorno alla funzioneDateFormat(). Questo potrebbe confondervi,quindi ecco una serie di regole:

  • usate tali caratteri quando l'espressione che deve essere valutata non è all'interno di un tag CFML (ad esempio: <cfoutput>#Now()#</cfoutput>).
  • usate tali caratteri attorno alle espressioni che sono all'interno di tag ColdFuzion SOLO quando l'espressione è all'interno di una stringa virgolettata (ad esempio: <cfset greeting = "Hello #person#">).
  • all'interno di funzioni innestate, usate tali caratteri solo per racchiudere la funzione più esterna (ad esempio: <cfoutput> #DateFormat(Now())# </cfoutput>).

Vediamo degli esempi sull'uso corretto e scorretto ditali caratteri:

USO CORRETTO

<cfset person = "Paul">  <cfset greeting = "Hello #person#">  <cfoutput>   #greeting#, today is #DateFormat(Now(),"dddd")#.  </cfoutput>

USO SCORRETTO

<!--- L'errore è stato reso in corsivo --->  <cfset person = "Paul">  <cfset greeting = "Hello" & #person#>

Altro USO SCORRETTO

<!--- L'errore è stato reso in corsivo ---><cfoutput>  #greeting#, today is #DateFormat(#Now()#,"dddd")#.</cfoutput>


Operatori aritmetici e per le stringhe

Qui di seguito una tabella riassuntiva degli operatori, ilcui uso è piuttosto standard.

Tipologia

Operatore

Nome

Esempio

Artimetici + Addizione <cfset c = a + b>
  - Sottrazione <cfset c = a - b>
  * Moltiplicazione <cfset c = a * b>
  / Divisione <cfset c = a / b>
  MOD Modulo <cfset c = a MOD b>
  ^ Esponenziazione <cfset c = a^b>
Stringhe & Concatenazione <cfset greeting = "Hello" &" world!">


Conclusioni

Nelle lezioni viste fin'ora, avete appreso come scrivereuna semplice pagina in ColdFusion,a riconoscere le funzioniColdFusion,a lavorare con le variabili e ad usare le querystring e a processare i valori passati attraverso di essa oun form.



Ti potrebbe interessare anche

commenta la notizia