Ciao ragazzi!
Allora, la mia prima prova di programmazione in php è la realizzazione di un sistema di liste nozze.
Ho quasi terminato il lato admin, e mi è sorto un dubbio..
In pratica per l'aggiunta o la modifica di un articolo avevo realizzato due script differenti.
Per fare i controlli per il form ho pensato di non usare gli alert javascript ma di farli direttamente con php.
Il modulo si comporta nel modo seguente: ho creato uno switch con 3 step (lo step viene passato tramite $_GET). Il primo step mostra il modulo, il secondo controlla se ci sono errori, e in tal caso lo step rimane "2", quindi ricompare il modulo con i dati immessi e nella parte superiore della pagina compare un piccolo box che avverte degli errori. Se non c'è nessuno errore si passa allo step 3 che mostra un'anteprima dell'inserimento e se si clicca sul tasto "Esegui" l'inserimento viene registrato.
Lo stesso sistema l'ho usato per il form di modifica.
Quindi mi trovo con un codice del genere:
codice:
$step = $_GET['step']
switch($step) {
case 1:
--Viene mostrato il form
case 2:
--Controlla se ci sono errori, se ci sono viene rimostrato il form con i dati immessi
--Se non ci sono errori si va allo step 3
case 3:
--Mostra l'anteprima
--Se viene cliccato "Esegui" vengono inseriti i dati
--Se viene cliccato "Annulla" vengono cancellate le immagini temporanee e si viene ricondotti alla pagina principale
}
La stessa identica cosa avviene per il form di modifica di un articolo.
Oggi ho pensato di implementare i codici di questi due script nella pagina principale della gestione articoli, settando un'altra variabile $_GET chiamata "action".
Ho quindi creato un altro script:
codice:
$action = $_GET['action'];
switch ($action) {
case "add-article": {
-- Richiama lo script per aggiungere l'articolo, quindi un altro switch con 3 step
}
case "edit-article": {
--Come sopra
}
default: {
Mostra la lista degli articoli, con accanto ad ogni articolo compare un pulsantino per editarlo
}
}
Ora quello che mi domando è se un approccio del genere è corretto o meno... ovviamente ho impostato dei cicli if all'inizio dello script per vedere se è impostata un'azione.
Lo script occupa un 40kb, mi domando anche se non sia "troppo" pesante da leggere, nel senso che ci possano essere degli "evidenti" problemi di lentezza...