Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Problema con acquisizione date più form.

    Ciao, sono alle prese con un esercizio di php dove ho vari form da cui devo acquisire varie informazioni (form per dipendente, dirigiente etc...) la cosa che mi pare strana è "brutta" è il dover usare per ogni form una pagina per l'acquisizione... Vorrei una pagina o classe con delle funzioni in grado di permettermi una diversa gestione per ogni form.
    ipoteticamente utilizzare un riga di codice di questo tipo("ovviamente non funzionante").

    <form action="registra.php dipendente()" method="post">
    con dipendente() metodo della "classe" registra.php

  2. #2
    Uhm... non ho capito completamente il tuo problema... tuttavia puoi fare anche in questo modo... hai vari form, reindirizzi tutti alla stessa pagina.php

    Hai poi due strade:

    Strada 1)

    Controlli quale bottone di Submit è stato usato
    Codice PHP:
    <form name="x" action="pagina.php" method="post">
    <
    input type="submit" name="dipendente"/>
    </
    form
    La parte sopra indica un ipotetico form

    Codice PHP:
    if (isset($_POST['dipendente']))
    {

    in cui controlli il bottone di submit, non puoi controllare l'eventuale value ma solo se esiste o meno.

    La seconda strada fa a meno di alcune cose, cambi solo una variabile di tipo get inserita nell'action del form

    Codice PHP:
    <form name="x" action="pagina.php?form=1" method="post">
    <
    input type="submit" name="dipendente"/>
    </
    form
    nella tua pagina.php avrai poi dei controlli su quella variabile di tipo $_GET

    poi nella pagina php in ogni caso puoi gestire con classi credo.

  3. #3
    Grazie
    Ho una prof abbastanza pignola (per esempio sul java non ci lascia metter attributi public) quindi volevo chiederti se mi sai dire tra quei due quale può esser il metodo più corretto =)

  4. #4
    Uhm, non saprei dire quale è il metodo più corretto...
    Di solito non si hanno 1000 form differenti, tuttavia mi è capitato di avere applicazione con 6,7,8 form con dati talvolta completamente differenti tra di loro.

    In tal caso ho preferito usare l'opzione degli id, da notare che ho usato uno switch ed ho comunque controllato che tutti i dati obbligatori fossero inseriti ed avessero dei valori previsti (ad esempio testo, numeri, etcetera).

    Poi lascio la parola ad altri per questo tuo dilemma.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    356
    propongo un altra soluzione:

    in ogni form metti un campo hidden e fai in modo che tutti i form richiamino lo stesso script.

    Poi a seconda del valore del campo esegui una parte di funzione:

    Codice PHP:
    <form name="form1" action="action.php"method="post">
        <
    input type="hidden" name="classe" value="dipendente">
        ........
    </
    form>
    <
    form name="form2" action="action.php"method="post">
        <
    input type="hidden" name="classe" value="dirigente">
        ........
    </
    form
    Codice PHP:
    <?php
    if ($_POST["classe"]=="dipendente")
    {
        ....
    }
    else if (
    $_POST["classe"]=="dirigente")
    {
        ....
    }
    ?>
    Oppure puoi usare un form unico e degli option per indicare che dati stai inserendo.

    Oppure creare un unico form e a seconda dei dati che inserisci, considerare solo quelli.

    Insomma...le soluzione sono tante.

    Ma prima di scegliere quella che fa per te (non ci sono soluzioni giuste o sbagliate), devi capire bene quello che devi fare. E questo a me non è ben chiaro. Mentre tu lo devi avere più che ben chiaro. Ce l'hai ben chiaro?
    Jekkil

  6. #6
    Bella domanda ahaha
    comunque per quel che sono riuscito a capire il metodo che mi sembra più pulito è quello di controllare l'id del form che è stato compilato. Anche se la soluzione con il campo nascosto è utilizzata da molti programmatori e viene spesso consigliata anche contro lo spam (non credo sia questo il caso).

  7. #7
    Originariamente inviato da Longo8
    Bella domanda ahaha
    comunque per quel che sono riuscito a capire il metodo che mi sembra più pulito è quello di controllare l'id del form che è stato compilato. Anche se la soluzione con il campo nascosto è utilizzata da molti programmatori e viene spesso consigliata anche contro lo spam (non credo sia questo il caso).
    Mi pare però di ricordare che se usi troppi campi hidden in un form alcuni browser te lo dicono.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.