Salve a tutti,
ho il seguente problema, chi mi può aiutare?
Vorrei in 4 fasi inserire un progetto in un db.
Per ogni fase lo script richiama la stessa pagina(pagina.php)
e ognuna si differenzia dall'altra attraverso l'utilizzo
della varibile step passata attraverso GET
La soluzione da me scelta è stata quella di creare un oggetto
per ogni progetto. La classe dell'oggetto è del tipo:
Class Progetto {
var $nome;
var $titolo;
var ...
}
La defiinizione della classe è all'inteno del file classe.inc
incluso all'inizio di pagina.php e successivamente richiamo la funziona session_start() (prima di qualsiasi tag html) in modo tale da avviare/richiamare la sessione(utilizzo i cookie per propagare il session id).
la funzione inserisci all'interno di pagina.php è del tipo:
function inserisci() {
// Controllo se esiste e se valido il valore di $step
if ($_GET["step"] == 0) {
$progetto = new Progetto();
$_SESSION['progetto'] = $progetto;
echo "<form ... method=post action=progetti.php?step=1>
<input ... name=nome>
.....
</form>";
}
elseif ($_GET["step"] == 1) {
$progetto = $_SESSION['progetto'];
$progetto->nome = $_POST["nome"];
echo $progetto->nome;
echo "<form ... method=post action=progetti.php?step=2>
<input ... name=titolo>
.....
</form>";
}
elseif ($_GET["step"] == 2) {
$progetto = $_SESSION['progetto'];
$progetto->titolo = $_POST["titolo"];
echo $progetto->nome;
....
e così via
Qual è il PROBLEMA(lo scrivo in maiusciolo per motivi di leggibilità):
Mentre il primo "echo $progetto->nome;" ovviamente funziona
il secondo no, come se il valore della varibile(oggetto) non venisse conservata.
Spero di essere stato chiaro.
Saluti a tutti.