• User Attivo

    Come gestire le varie "action" in una pagina php?

    [LEFT]Buona sera,
    ho creato alcune semplici pagine php che inseriscono (tramite form) dei dati in un DB MySql ed eliminano tramite lnk tali articoli presentei nel DB.

    Per rendere più pulito il mio codice (index.php) pensavo di importare ogni pagina, ma non so come richiamarle all'interno dello switch($_GET['action']) .
    Ad esempio, se ho una pagina che legge i dati presenti nel db, un'altra che i scrive, ed un'altra ancora che li cancella, come faccio a trasformarle in funzioni in modo da avere qualcosa del genere?

    
    <?php
    
    switch($_GET['action'])
    {
        case 'leggi':
            leggiArticoli();
        break;
        case 'del':
            cancellaArticoli()
        break;
        case 'invia':
            inviaArticoli()
        break;
        default:
           echo "comando sconosciuto";
    ?>
    
    ```Grazie per la vostra attenzione.
    [/LEFT]

  • User

    Uhm... provo ad interpretare quello che intendi dire.

    Se tu passi un parametro nella url ad esempio index.php?task=delete e poi nella index fai lo switch sul parametro puoi far eseguire la funzione delete che va a cancellare il record nel db.


  • User Attivo

    Si si, ma a parte questo (che sono riscito a realizzare) vorrei avere un index.php "pulito".
    Mi spiego meglio: ora come ora ho un index del tipo

    
    <?php
    // ...codice vario....
    switch($_GET['action'])
    {
        case 'leggi':
           // blocco di codice che fa leggere gli articoli
           //......................
           //......................
           //......................
           //......................
        break;
        case 'del':
           // blocco di codice che fa cancellare gli articoli
           //......................
           //......................
           //......................
           //......................
           //......................
        break;
        case 'invia':
           // blocco di codice che fa inviare gli articoli
           //......................
           //......................
           //......................
           //......................
        break;
        default:
           echo "comando sconosciuto";
    }
    // altro codice....
    
    

    Ora la mia domanda è: senza scrivere tutto questo codice, posso scrivere una pagina per ogni codice tipo leggi.php e ci metto tutto il codice per leggere gli articoli dal DB e successivamente rischiamo questa pagina come funzione una funzione del tipo leggiArticoli() ?

    Ripeto, è solo una questione di estetica e pulizia codice per renderlo più leggibile in quanro ora funziona tutto perfettamente, tipo www.miapgina.ext/index.php?action=leggi&id=X
    www.miapgina.ext/index.php?action=cancella&id=X