Uela'!
Dopo svariati sbattimenti e taluni preziosi consigli, sono riuscito a far funzionare le sessioni in un banalisssimo script di prova (buttato giù a scopo puramente "autodidattico"):
Mo'...Codice PHP:
<?php
session_start(); //"Apro" la sessione...
error_reporting(E_ALL); //Chiedo che siano attivati i "notice" su *tutti* gli errori (è già settata così anche nel "php.ini").
//=== Inizializzo le due variabili in modo che anche se sono vuote non riceva "notice" ===//
$invia = (isset($_POST['invia'])) ? ($_POST['invia']) : '' ;
$insert = (isset($_POST['insert'])) ? ($_POST['insert']) : '' ;
//==== PASSAGGIO N° [2]: Verifica dei dati inseriti ========//
if ($invia) {
$_SESSION['nome']=ucwords($_POST['nome']);
$_SESSION['cognome']=ucwords($_POST['cognome']);
echo "<html><head><title>[2] == Controlla i dati</title></head>
<body>
2).
Ciao, ".$_SESSION['nome']." ".$_SESSION['cognome']."!
<form action=\"$_SERVER[PHP_SELF]\" method=\"POST\">
<input type=\"reset\" value=\"Cambia i dati\" onclick=\"javascript:history.back()\">
<input type=\"submit\" value=\"INSERISCI!\" name=\"insert\">
</form>
</body>
</html>";
}
//==== PASSAGGIO N° [3]: STAMPA dei dati inseriti ========//
else if ($insert) {
echo "<html><head><title>[3] == Valori per \"".$_SESSION['nome']." ".$_SESSION['cognome']."\"</title></head>
<body>
3).
Ho inserito i dati \"[b]".$_SESSION["nome"]." ".$_SESSION["cognome"]."[/b]\" nel DB!
</body>
</html>";
}
else {
//==== PASSAGGIO N° [1]: Inserimento dei dati ========//
echo "<html><head><title>[1] == Inserisci i dati</title></head>
<body>
1).
<form action=\"$_SERVER[PHP_SELF]\" method=\"POST\">
Nome: <input name=\"nome\" size=\"30\">
Cognome: <input name=\"cognome\" size=\"30\">
<input type=\"reset\" value=\"CiòripenZato...\">
<input type=\"submit\" value=\"OK\" name=\"invia\">
</form>
</body>
</html>";
}
?>
Funzionare, funziona.
Ma la domanda è:
È corretto l'uso che ho fatto di $_SESSION, o c'è un modo un po' più elegante e soprattutto sintetico per non dover richiamare ogni volta quel "$_SESSION['nome']"?
Poi:
E se al posto dell'IF volessi usare uno SWITCH? Non ho idea di quale variabile dovrei "switchare" (ma soprattutto *come*), tra quelle già presenti, né come usarne una nuova.
Grass... ;-)
cià
ale-niubbVersion