• User Newbie

    Immagazzinare e stampare tutte le risposte di un quiz

    Ciao!

    Sto provando a creare un quiz con PHP ma, non essendo esattamente un veterano in quest'ambito, sono ovviamente incappato in un problema.

    Quello che ho intenzione di realizzare è un quiz composto da varie domande, le quali si trovano su pagine diverse, che vengono richiamate al 'submit' della risposta. Al momento sto facendo un po' di prove per vedere come gestire le varie variabili e il mio problema sussiste quando, alla fine, tento di stampare tutte le risposte (salvate in variabili).

    Questi sono i codici.

    PRIMA DOMANDA (1.php)
    [HTML]
    <form action="2.php" method="POST">
    <div>
    <button type="submit" value="grifondoro" name="casa" class="riq riql">Grifondoro</button><br>
    <button type="submit" value="tassorosso" name="casa" class="riq riqd">Tassorosso</button><br>
    <button type="submit" value="corvonero" name="casa" class="riq riql">Corvonero</button><br>
    <button type="submit" value="serpeverde" name="casa" class="riq riqd">Serpeverde</button>
    </div>
    </form>[/HTML]

    **SECONDA DOMANDA (2.php)
    **[HTML]
    <form action="res.php" method="POST">
    <div>
    <button type="submit" value="McGrannitt" name="casa" class="riq riql">McGrannitt</button><br>
    <button type="submit" value="Sprite" name="casa" class="riq riqd">Sprite</button><br>
    <button type="submit" value="Vitious" name="casa" class="riq riql">Vitious</button><br>
    <button type="submit" value="Piton" name="casa" class="riq riqd">Piton</button>
    </div>
    </form>[/HTML]

    **PAGINA DEI RISULTATI (**res.php)
    [PHP]
    <?php
    $casa = $_POST['casa'];
    $prof = $_POST['prof'];
    ?>

    <p> La tua casa è <?php echo $casa; ?></p>
    <p> Il tuo prof è <?php echo $prof; ?></p>
    [/PHP]

    Il problema è che, una volta arrivati alla pagina res.php, la variabile $casa non viene stampata, mentre l'altra sì.
    Personalmente, credo sia dovuto al fatto che la variabile
    $casa**, si trovi a essere definita nella prima pagina e non venga stampata perché, con la seconda pagina in mezzo, è come se la variabile si annullasse essendo che la stampa non avviene nella pagina immediatamente successiva.
    (Ho provato a ovviare al problema creandomi un array e inserendoci le variabili all'interno, ma, come prima, la prima variabile non mi viene stampata (però la sua chiave sì). )

    Qualcuno in grado di aiutarmi?
    Grazie in anticipo.


  • User Attivo

    Se a pagina 2 visualizzi il contenuto delle risposte date a pagina 1, quando passi ai risultati, dovresti inviare sia i valori ricevuti da pagina 1, sia gli attuali (pagina 2).

    Manca il codice PHP, non ho idea di cosa utilizzi ($_GET o solo $_POST ?)

    Se usi solo il $_POST, puoi creare un/più campo/i input, a pagina 2, nascosto/i. In questo/i gli metti di default i valori ricevuti dalla pagina 1.

    In questo modo vengono inviati nuovamente come input, come gli altri campi di pagina 2, e dovresti recuperarli.


  • User Newbie

    Perfetto, funziona! Grazie mille 🙂