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 web server è attraverso il riempimento di form HTML. Ci sono due modi per sottomettere dei dati attraverso un form: il metodo GET e il metodo POST. Il metodo usato dal form viene stabilito dall'attributo del tag <form> (di default vale il metodo GET). Di seguito 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 barra degli indirizzi, per cui dati sensibili quali le password non vengono mostrate a schermo;
    • 2) Si può eseguire l'upload di file (come immagini o documenti Office).

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

L'esempio seguente è un semplice form HTML per calcolare il tempo che si impiega a percorrere una distanza specificata ad una certa velocità- Il codice sottostante non contiene codice ColdFusion. La pagina deputata a processare i dati inviati è ProcessCalculator.cfm, che dovrebbe contenere il codice ColdFusion per la processazione dei dati inviati dal form.

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 dei dati, la gestione degli appuntamenti e degli orari, interpretazione di documenti XML, ecc.

La sintassi di una funzione è nome_funzione(argomenti), dove argomenti è una lista di zero o più valori passati alla funzione.

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

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

Ecco qui sotto una tabella introduttiva con le funzioni più 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 parametri della funzione mentre l'ora viene automaticamente settata a 00:00:00.
IsDate(string) Ritorna true se la stringa può essere convertita in un oggetto che rappresenti una data valida.
DaysInMonth("data") Ritorna il numero di giorni nel mese specificato dalla data 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 al seguente (per ovvie ragioni non potrà essere identico al 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'utilizzo delle funzioni Now() e DateFormat():

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 caratteri sono presenti intorno alla funzione DateFormat(). 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 di tali 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, il cui 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 scrivere una semplice pagina in ColdFusion,a riconoscere le funzioni ColdFusion,a lavorare con le variabili e ad usare le query string e a processare i valori passati attraverso di essa o un form.



Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Luca
Ti è piaciuto l'articolo?