Fare internet

E' come il lego, più pezzi ho più sono allegro
Seguci su Facebook Seguici su Twitter Iscrivita ai nostri Feed      Mandaci una mail

Inserire codice HTML all’interno di un if

Scritto da Fare-internet il 31 gennaio 2011 condividi condividi

Spesso scrivendo codice PHP ci capita di dover inserire del codice HTML all’interno di un controllo di flusso (es. if/else) o dentro ad un cilco (es. while).
Mi è capitato spesso di vedere un errore nella scrittura di questo codice, vogliamo quindi cercare di chiarire gli aspetti di questo caso.
Noi faremo un esmpio con utlizzando l’if, ma quanto diremo è valido per gli altri controlli di flusso e cicli.

Come sappiamo, quando scriviamo un if in cui il codice da eseguire quando la condizione è verificata è composto da una sola istruzione, possiamo omettere le parentesi graffe.
Ad esempio un codice come il seguente è corretto:

if (condizione)
     echo "ciao";

Questo ci potrebbe far supporre che anche il seguente codice lo sia:

if (condizione) ?>
     HTML
<?php

Questa seconda valutazione però è errata, per convincersene basta analizzare il codice con un po’ di attenzione.
Infatti il codice precedente equivale a:

if (condizione)  ; //notare punto e virgola ?>
     HTML
<?php

Questo perchè il php ci cosnente di omettere il punto e virgola nell’ultima istruzione prima della chiusura del php. Da questa lettura risulta chiaro che ci siamo “buciati” l’if con l’istruzione vuota, che data l’assenza di parentesi viene anche vista compe l’unica istruzione del blocco di codice dell’if.

Per evitare questo problema basta prendere la buona abitudine di mettere sempre la graffa, anche se abbiamo una sola riga di codice.

Quanto detto per l’if è valido anche pre l’else, il for, il while…

Sei interessato ad un corso di PHP a Roma?

Twitter