Corso di PHP 

Il ciclo IF - Esempio pratico 2


Ecco qui un altro esempio pratico sull'uso dell'istruzione IF.
Molto spesso ci si trova a combattere con i menù, che spesso in siti di grandi dimensioni (come questo, ad esempio) cambiano spesso. Da una idea nata nel forum (spero di aver interpretato bene la richiesta!) nella prima settimana di Agosto, mi sono messo al lavoro creando un semplice script PHP che potesse da una sola pagina creare un intero sito. Il tutto senza l'utilizzo di Database (che vedremo in seguito!).
L'idea, se pur buona, appare abbastanza semplicistica e può essere la soluzione ottimale per siti di dimensione ridotta (una decina di pagina).

Diamo un'occhiata nel dettaglio:
La prima pagina (quella su cui si compone il sito) è composta da due INCLUDE. Il primo non ha nessuna variabile di controllo (guardando l'allegato ZIP vi renderete conto), mentre il secondo è più interessante e lo riporto qui:

<? include($dr.'text'.$c.'.inc') ?>

Come vedete all'interno di questo INCLUDE ci sono due variabili: $dr è la variabile definita come la directory in cui avverrà il richiamo del file, mentre la variabile $c definisce il collegamento.

Ma da dove nascono queste variabili?
Queste varibili sono il risultato del primo include, di cui riporto il codice:

<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="index.php3?s=1&dr=dir1/">Sezione 1</a><br>
<?
/* Controllo della variabile $s */
if ($s == 1) {
echo('<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="index.php3?s=1&c=1&dr=dir1/">Link 1-1</a></td>
</tr>
<tr>
<td><a href="index.php3?s=1&c=2&dr=dir1/">Link 1-2</a></td>
</tr>
<tr>
<td><a href="index.php3?s=1&c=3&dr=dir1/">Link 1-3</a></td>
</tr>
</table>');
}
?>

</td>
</tr>
<tr>
<td><a href="index.php3?s=2&dr=dir2/">Sezione 2</a><br>
<?
if ($s == 2) {
echo('<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="index.php3?s=2&c=1&dr=dir2/">Link 2-1</a></td>
</tr>
<tr>
<td><a href="index.php3?s=2&c=2&dr=dir2/">Link 2-2</a></td>
</tr>
<tr>
<td><a href="index.php3?s=2&c=3&dr=dir2/">Link 2-3</a></td>
</tr>
</table>');
}
?>
</td>
</tr>
<tr>
<td><a href="index.php3?s=3&dr=dir3/">Sezione 3</a><br>
<?
if ($s == 3) {
echo('<table width="150" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><a href="index.php3?s=3&c=1&dr=dir3/">Link 3-1</a></td>
</tr>
<tr>
<td><a href="index.php3?s=3&c=2&dr=dir3/">Link 3-2</a></td>
</tr>
<tr>
<td><a href="index.php3?s=3&c=3&dr=dir3/">Link 3-3</a></td>
</tr>
</table>');
}
?>
</td>
</tr>
</table>

Probabilmente ancora non avete capito molto. Mi spiego!
Ogni link (uno in rosso e sottolineato viene posto in risalto. Gli altri sono simili, ma cambiamo per i valori) è caratterizzato da alcune varibili dopo un punto interrogativo (?) che vanno appunto a definire la variabile $dr, la variabile $c e la variabile $s, di cui ancora non abbiamo parlato, ma di cui, se avete guardato questo codice, avete capito il compito.
La variabile $s ha il compito di far apparire una parte di codice all'interno di una istruzione IF (al centro di questa lezione!) che appare solo se questa soddisfa certi valori.

Guardate il pacchetto ZIP coni file di esempio: capirete la semplicità di questo script!