Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    problema con form con più schermate

    Ciao a tutti,
    ho un problema con un form a più schermate, ora mi spiego.

    Ho realizzato un form con delle domande e delle risposte già preimpostate e prese dal db, l'utente va sulla prima schermata legge la prima domanda e clicca su una delle 3 possibili risposte, poi va avanti sulla seconda schermata, e così via fino ad arrivare a 12 schermate. Alla dodicesima schermata non c'è più il pulsante VAI AVANTI ma c'è il pulsante INSERISCI TUTTE LE RISPOSTE e cliccando tutte le risposte vengono registrate nel db.

    Tutto funziona correttamente il mio problema è che le domande devono sempre essere 12 ne più ne meno altrimenti non funziona più.

    E ora spiego il perché:

    Queste sono le 12 schermate

    <?php
    $_GET['pagina'] = (isSet($_GET['pagina']) && ($_GET['pagina'] > 3)) ? $_GET['pagina'] : 3;
    switch ($_GET[pagina])
    {

    case 1: $pagina = '../pann_contr_comune/include_utente_case1_corsi.php'; break;
    case 1b: $pagina = '../pann_contr_comune/include_utente_case1_corsi.php'; break;

    case 2: $pagina = '../pann_contr_comune/include_utente_case2_corsi.php'; break;
    case 2b: $pagina = '../pann_contr_comune/include_utente_case2_corsi.php'; break;

    case 3: $pagina = '../pann_contr_comune/include_utente_case3_corsi.php'; break;
    case 3b: $pagina = '../pann_contr_comune/include_utente_case3_corsi.php'; break;

    case 4: $pagina = '../pann_contr_comune/include_utente_case4_corsi.php'; break;
    case 4b: $pagina = '../pann_contr_comune/include_utente_case4_corsi.php'; break;

    case 5: $pagina = '../pann_contr_comune/include_utente_case5_corsi.php'; break;
    case 5b: $pagina = '../pann_contr_comune/include_utente_case5_corsi.php'; break;

    case 6: $pagina = '../pann_contr_comune/include_utente_case6_corsi.php'; break;
    case 6b: $pagina = '../pann_contr_comune/include_utente_case6_corsi.php'; break;

    case 7: $pagina = '../pann_contr_comune/include_utente_case7_corsi.php'; break;
    case 7b: $pagina = '../pann_contr_comune/include_utente_case7_corsi.php'; break;

    case 8: $pagina = '../pann_contr_comune/include_utente_case8_corsi.php'; break;
    case 8b: $pagina = '../pann_contr_comune/include_utente_case8_corsi.php'; break;

    case 9: $pagina = '../pann_contr_comune/include_utente_case9_corsi.php'; break;
    case 9b: $pagina = '../pann_contr_comune/include_utente_case9_corsi.php'; break;

    case 10: $pagina = '../pann_contr_comune/include_utente_case10_corsi.php'; break;
    case 10b: $pagina = '../pann_contr_comune/include_utente_case10_corsi.php'; break;

    case 11: $pagina = '../pann_contr_comune/include_utente_case11_corsi.php'; break;
    case 11b: $pagina = '../pann_contr_comune/include_utente_case11_corsi.php'; break;

    case 12: $pagina = '../pann_contr_comune/include_utente_case12_corsi.php'; break;
    case 12b: $pagina = '../pann_contr_comune/include_utente_case12_corsi.php'; break;
    }
    include($pagina);
    ?>

    Nel codice della prima domanda ho messo:

    <?=maiuscolo(($rowfile5['domanda']))?>

    <input type="radio" name="risposta_domanda_1" value="1" <? if ($_POST["risposta_domanda_1"] == "1") echo "CHECKED"; ?>
    <input type="radio" name="risposta_domanda_1" value="2" <? if ($_POST["risposta_domanda_1"] == "2") echo "CHECKED"; ?>
    <input type="radio" name="risposta_domanda_1" value="3" <? if ($_POST["risposta_domanda_1"] == "3") echo "CHECKED"; ?>

    <input name="submit" type="submit" class="pulsante" value="continua">
    <input type="hidden" name="pagina" value="1b">


    e per andare a pagina 2 ho messo questo:

    <?
    if ($pagina==1b){

    session_register("risposta_domanda_1");


    $URL="include_utente_case2_corsi.php?pagina=2";
    header ("Location: ".$URL);

    }
    ?>

    e così via per tutte e 12 le domande.

    Ma se un giorno il corso fosse di 13 o più, o meno domande? Sono fregato. Non c'è un modo per rendere dinamico il numero delle schermate in base al numero delle domande che sono presenti nel corso?

  2. #2
    sarebbe sufficiente progettare una piccola base dati con cui si gestiscono le relazioni tra questionario/domande/risposte: in questo modo avresti tutta la flessibilità che vuoi

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Mi potresti fare un esempio sulla logica della truttura di come lo devo impostare?
    Giusto per capire e poi me lo costruisco da solo.

  4. #4
    bè dipende molto dai requisiti del progetto, ad esempio da come viene gestita l'utenza, chi deve creare i questionari, chi deve creare le domande, chi ha accesso alle risposte, ecc.

    Ad ogni modo per farti un'idea ti consiglierei di vedere degli applicativi che fanno questo genere di lavoro, cioè gestiscono questionari. Uno dei più famosi è questo:

    http://www.limesurvey.org/

    è open source, puoi scaricarlo, installarlo e vedere come funziona per farti un'idea.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    mmmhh vedere questo applicativo non mi aiuta, grazie lo stesso.

  6. #6
    Originariamente inviato da prinzart
    mmmhh vedere questo applicativo non mi aiuta, grazie lo stesso.
    Ti consigliere di spendere qualche minuto in più nel guardare e studiare il funzionamento di questi applicativi: se non sai come funzionano non vedo come tu possa fare ad implementarne uno tuo

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ma in questo modo non vedo il codice degli applicativi e il lodo db, vedere un applicativo dall'esterno credo sia inutile, IMHO naturalmente

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Ma se ti fornisco qualche dato su come è impostato il mio db non mi potresti aiutare?

  9. #9
    infatti ho scritto:

    è open source, puoi scaricarlo, installarlo e vedere come funziona per farti un'idea.

  10. #10
    Originariamente inviato da prinzart
    Ma se ti fornisco qualche dato su come è impostato il mio db non mi potresti aiutare?
    possiamo farci dei ragionamenti, sicuramente: però considera che non è semplicissimo mettere su da zero un gestionale di questo tipo, ci sono un sacco di elementi da tenere presente (es. tipi di domanda da gestire - risposta aperta/chiusa, e nel caso di risposta chiusa gestire le opzioni, ecc.) Per quello ti consigliavo di partire guardando qualcosa di già fatto

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.