Sono 'gnurante et puranco un po' rinco... sorryOriginariamente inviato da mircov
Hai creato delle variabili che non hanno alcun valore! Devi assegnarlo il nome!
Hai fatto un po' di casino!
![]()
Ehm, sì... In teoria era *esattamente* quello che volevo.Ora hai sia $_SESSION['form']['nome'] che $nome e puoi usare l'una o l'altra var ottenendo lo stesso valore.Codice PHP:
//=== Inizializzo le variabili in modo che anche se sono vuote non riceva "notice" ===//
//=== Adesso hai le variabili POST memorizzate in sessione ===//
$_SESSION['form']['invia'] = (isset($_POST['invia'])) ? ($_POST['invia']) : '' ;
$_SESSION['form']['insert'] = (isset($_POST['insert'])) ? ($_POST['insert']) : '' ;
$_SESSION['form']['nome'] = (isset($_POST['nome'])) ? ucwords($_POST['nome']) : '';
$_SESSION['form']['cognome'] = (isset($_POST['cognome'])) ? ucwords($_POST['cognome']) : '';
//=== Ora usiamo foreach per "abbreviare" le variabili ===//
foreach($_SESSION['form'] as $key => $value) {
$$key = $value ;
}
In pratica, invece, adesso sto di nuovo al punto di partenza; nel senZo che non mi riconosce più le variabili $nome e $cognome al "Passaggio [3]" e dunque non me le stampa:
(Eppoi non riesco a capire com'è che ieri funzionava anche se non avevo assegnato niente)!Codice PHP:
<?php
session_start(); //"Apro" la sessione...
error_reporting(E_ALL); //Chiedo che siano attivati i "notice" su *tutti* gli errori
//=== Inizializzo le variabili in modo che anche se sono vuote non riceva "notice" ===//
$_SESSION['form']['invia'] = (isset($_POST['invia'])) ? ($_POST['invia']) : '' ;
$_SESSION['form']['insert'] = (isset($_POST['insert'])) ? ($_POST['insert']) : '' ;
$_SESSION['form']['nome'] = (isset($_POST['nome'])) ? ucwords($_POST['nome']) : '';
$_SESSION['form']['cognome'] = (isset($_POST['cognome'])) ? ucwords($_POST['cognome']) : '';
foreach($_SESSION['form'] as $key => $value) {
$$key = $value ;
echo "$key => $value
"; //<== Questa è un'aggiunta per averci sempre sott'occhio i valori dell'array; poi la levo ;-)
}
//==== PASSAGGIO N° [2]: Verifica dei dati inseriti ========//
if ($invia) {
echo "<html><head><title>[2] == Controlla i dati</title></head>
<body>
2).
Ciao, $nome $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 \"$nome $cognome\"</title></head>
<body>
3).
Ho inserito i dati \"[b]$nome $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>";
}
?>
Siamo sicuri che non devo schiaffare un qualche "session_destroy()" da qualche parte, visto che sto provando diverse versioni di 'sto script e ho l'impressione che certi dati "restino in memoria" nel server (o nelle sessioni, appunto)?
Il mistero s'infittisce...
TNX
cià
ale