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

    form con radio obbligatori e segnalazione di quelli con mancata risposta

    ciao a tutti
    ho utilizato per creare dei test psicologici il seguente script preso da
    http://www.howtocreate.co.uk/php/howto.html
    scaricato anche il questans.php allegato
    Ma questo script mi fa andare avanti anche se non ho cliccato su tutte le risposte, vorrei che mi indica le risposte che non ho dato. Come posso fare? posso inserire uno script nel questans.php? Grazie

    Il questans.php e:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>
    <?php

    if( !is_array( $_REQUEST ) ) { $_REQUEST = array_merge( $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS ); }
    foreach( $_REQUEST as $key => $value ) { $$key = $value; }

    function stripscript( $mystring ) {
    if( get_magic_quotes_gpc() ) { $mystring = stripslashes( $mystring ); }
    return htmlspecialchars( $mystring );
    }

    print stripscript( $questiontitle )."\n";
    ?>
    </title>
    </head>
    <body>

    <!-- ************************************************** ***********
    Questionnaire scoring script
    v2.0 Written by Mark 'Tarquin' Wilton-Jones - 2002-2003
    ************************************************** ****************

    Please see http://www.howtocreate.co.uk/jslibs/termsOfUse.html for terms and conditions of use.
    Please see http://www.howtocreate.co.uk/php/ for instructions.

    __________________________________________________ _________________ -->

    <h1>
    <?php
    print stripscript( $questiontitle )."\n";
    ?>
    </h1>
    <h2><?php
    $max = 0;
    $total = 0;
    for( $x = 1; $x <= count( $qtot ); $x++ ) {
    //the hidden input gives the maximum for each question
    $max += $qtot[$x];
    if( $q[$x] && gettype( $q[$x] ) == 'array' ) {
    //if it is a checkbox input, add the number that have been checked
    $total += count( $q[$x] );
    } else {
    //if it is a radio input, add its value
    $total += $q[$x];
    }
    }
    $score = floor( 100 * ( $total / $max ) );
    print stripscript( $questionreplystart ) ." ". $score ."% ". stripscript( $questionreplyend )."</h2>\n";

    if( count( $customresponse ) ) {
    //if they have chosen custom responses, find the highest valued one that works.
    $got_one = "";
    for( $x = 0; $x <= $score; $x++ ) {
    if( $customresponse[$x] && $score >= $x ) {
    $got_one = $customresponse[$x];
    }
    }
    print "

    ".stripscript( $got_one )."</p>\n";
    }

    ?>

    <hr>


    Questionnaire scoring script provided for free by http://www.howtocreate.co.uk.</p>


    Create your own questionnairs and use this program to calculate scores.</p>
    </body>
    </html>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Non ci vedo una sola linea di javascript e di PHP non ne capisco nulla... ti sposto
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Solo una pagina?
    Posta anche l'altra così vedo i nomi dei relativi input
    we

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Ne sai qualcosa di php e/o javascript?
    La cosa più semplice sarebbe associare un valore di default al gruppo dei radio button, ad esempio imposti come selezionata una delle opzioni con l'attributo checked.

    Se non vuoi imporre un valore predefinito allora potresti gestire il controllo tramite javascript, associato alla pressione del pulsante che invia i dati (submit) chiami una funzione javascript che verifica se al gruppo dei radio button è assegnato un valore, se non lo è puoi ad esempio far apparire un popup con un avvertimento adeguato.
    Perché questo funzioni però è necessario che l'utente abbia javascript attivato nel browser, altrimenti non serve a niente.

    Terza opzione, più complessa, gestire il tutto lato server con php. Arrivano i dati allo script, lo script controlla che tutti i campi siano valorizzati (puoi farlo perché sai a priori come si chiamano i vari campi che ti aspetti), se tutti hanno un valore ok, altrimenti fai apparire un messaggio adeguato indicando quali dati mancano e reindirizzi nuovamente alla pagina del form. Per fare una cosa fatta bene però dovresti fare in modo di non costringere l'utente a riselezionare tutto da solo, specie se i campi sono molti. Questa cosa potresti ad esempio farla mettendo in sessione i valori ricevuti dallo script che ha controllato i vari campi e compilando automaticamente quelli che andavano bene, così l'utente dovrà solo aggiungere i dati mancanti.

  5. #5
    la seconda pagina è:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Documento senza titolo</title>
    </head>
    <table width="200" border="0">
    <tr>
    <td>

    <p class="verdana80FFFFFFt" align="center">TEST DELL'AMBIZIONE</p>
    <p class="verdana80FFFFFFt style1" align="justify">Il
    seguente test, sviluppato da ......................, permette di misurare in
    maniera veloce e divertente il proprio livello di ambizione, ovvero il
    desiderio di ottenere determinati successi o riconoscimenti in campo
    lavorativo, sociale e personale. L'ambizione viene generalmente
    considerata in modo positivo, sebbene un suo eccesso porti a sviluppare
    comportamenti non sempre socialmente desiderabili.</p>

    <form method="post" action="http://www.vivereincoppia.it/questans.php">
    <input name="questionreplystart" value="La tua percentuale di ambizione è del" type="hidden">
    <input name="questionreplyend" value="" type="hidden">
    <input name="questiontitle" value="Risultato del test dell'ambizione" type="hidden">
    <input name="customresponse[0]" value="Scarsa ambizione. Le tue risposte al test denotano un livello di ambizione basso. Sei probabilmente una persona che si accontenta di quello che ha e non desidera ottenere niente di più. Questo non è necessariamente un male nel caso in cui tu sia soddisfatto e felice per quello che possiedi e che hai ottenuto nella vita! Scrivici se hai apprezzato questo test." type="hidden">
    <input name="customresponse[30]" value="Media ambizione. Le tue risposte al test denotano un livello di ambizione medio. Sei probabilmente una persona che sa godere di quello che possiede ma che, al tempo stesso, è capace di adoperarsi per migliorare ed ottenere qualcosa di meglio. Ricorda sempre che l'ambizione è una buona qualità, ma se diventa eccessiva può portare a compiere azioni discutibili, come ad esempio tradire la fiducia di una persona! Scrivici se hai apprezzato questo test." type="hidden">
    <input name="customresponse[50]" value="Alta ambizione. Le tue risposte al test suggeriscono un livello piuttosto alto di ambizione. Sei una persona che va alla ricerca di continui miglioramenti e che non si accontenta di quello che ha. Questo è generalmente un fatto positivo, ma non deve condurti al compimento di azioni moralmente ed eticamente discutibili. Ricorda che il rispetto per il prossimo è sempre più importante delle proprie ambiziosi personali. Scrivici se hai apprezzato questo test." type="hidden">
    <input name="customresponse[75]" value="Eccessiva ambizione. Le tue risposte al test fanno pensare che tu sia una persona molto ambiziosa, forse troppo. Non sei certamente una persona che si accontenta, in più ami il potere ed il successo. Cerca sempre di distinguere ciò che è giusto da ciò che non lo è, e non pregiudicare i rapporti con le persone per seguire un sogno o un obiettivo importante. I soldi e la fama non ti renderanno mai felice quanto l'essere amato in modo sincero dalle persone che ti stanno accanto. Scrivici se hai apprezzato questo test." type="hidden">
    <div align="center">


    Ricorda che il risultato del test è puramente indicativo, non considerare il suo risultato come una diagnosi.

    Rispondere a tutte le domande altrimenti il risultato sarà falsato! </p>
    </div>
    <table align="center" bgcolor="#eaeaea" width="552" border="0" cellpadding="5" cellspacing="0" height="893">
    <tbody><tr>
    <td height="832" bgcolor="#FFFFFF"><p align="left">1 - Quando partecipi ad un gioco di società o ad una competizione con i tuoi amici ritieni che sarai tu a vincere?

    Mai
    <input name="qtot[1]" value="10" type="hidden">
    <input name="q[1]" value="0" type="radio">
    || A volte
    <input name="q[1]" value="4" type="radio">
    || Spesso
    <input name="q[1]" value="7" type="radio">
    || Sempre
    <input name="q[1]" value="10" type="radio">




    2 - Ritieni di essere una persona dotata di qualità al di sopra della media?

    Mai
    <input name="qtot[2]" value="10" type="hidden">
    <input name="q[2]" value="0" type="radio">
    || A volte
    <input name="q[2]" value="4" type="radio">
    || Spesso
    <input name="q[2]" value="7" type="radio">
    || Sempre
    <input name="q[2]" value="10" type="radio">




    <span class="Stile1">3 - Ritieni di possedere le capacità per ottenere ciò che desideri?</span>

    <span class="Stile1">Mai </span>
    <input name="qtot[3]" value="10" type="hidden">
    <input name="q[3]" value="0" type="radio">
    || A volte
    <input name="q[3]" value="4" type="radio">
    || Spesso
    <input name="q[3]" value="7" type="radio">
    || Sempre
    <input name="q[3]" value="10" type="radio">




    4 - <span class="Stile1">Desideri diventare una persona importante, rispettata ed influente?</span>

    <span class="Stile1">Mai </span>
    <input name="qtot[4]" value="10" type="hidden">
    <input name="q[4]" value="0" type="radio">
    || A volte
    <input name="q[4]" value="4" type="radio">
    || Spesso
    <input name="q[4]" value="7" type="radio">
    || Sempre
    <input name="q[4]" value="10" type="radio">




    <span class="Stile1">5 - Hai la certezza che un giorno diverrai una persona importante ed influente?</span>

    Mai
    <input name="qtot[5]" value="10" type="hidden">
    <input name="q[5]" value="0" type="radio">
    || A volte
    <input name="q[5]" value="4" type="radio">
    || Spesso
    <input name="q[5]" value="7" type="radio">
    || Sempre
    <input name="q[5]" value="10" type="radio">




    6 - <span class="Stile1">Ti alletta l'idea di avere delle persone che lavorano per te?

    </span>
    <span class="Stile1">Mai</span>
    <input name="qtot[6]" value="10" type="hidden">
    <input name="q[6]" value="0" type="radio">
    || A volte
    <input name="q[6]" value="4" type="radio">
    || Spesso
    <input name="q[6]" value="7" type="radio">
    || Sempre
    <input name="q[6]" value="10" type="radio">




    7 - Sai con esattezza quello che vuoi?

    <span class="Stile1">Mai </span>
    <input name="qtot[7]" value="10" type="hidden">
    <input name="q[7]" value="0" type="radio">
    || A volte
    <input name="q[7]" value="4" type="radio">
    || Spesso
    <input name="q[7]" value="7" type="radio">
    || Sempre
    <input name="q[7]" value="10" type="radio">




    8 - Sai con esattezza come ottenere ciò che vuoi?

    <span class="Stile1">Mai</span>
    <input name="qtot[8]" value="10" type="hidden">
    <input name="q[8]" value="0" type="radio">
    || A volte
    <input name="q[8]" value="4" type="radio">
    || Spesso
    <input name="q[8]" value="7" type="radio">
    || Sempre
    <input name="q[8]" value="10" type="radio">




    9 - Saresti capace di mentire ad un amico se questo potesse aiutarti a realizzare i tuoi progetti?

    Mai
    <input name="qtot[9]" value="10" type="hidden">
    <input name="q[9]" value="0" type="radio">
    || A volte
    <input name="q[9]" value="4" type="radio">
    || Spesso
    <input name="q[9]" value="7" type="radio">
    || Sempre
    <input name="q[9]" value="10" type="radio">




    10 - Saresti disposto a cambiare nazione se ti si presentasse un'occasione lavorativa favorevole?

    <span class="Stile1">Mai </span>
    <input name="qtot[10]" value="10" type="hidden">
    <input name="q[10]" value="0" type="radio">
    || Non sono sicuro
    <input name="q[10]" value="4" type="radio">
    || Credo di sì
    <input name="q[10]" value="7" type="radio">
    || Sicuramente sì
    <input name="q[10]" value="10" type="radio">




    11 - Saresti capace di agire in modo non del tutto legale se questo potesse aiutarti a raggiungere i tuoi obiettivi?

    <span class="Stile1">Mai </span>
    <input name="qtot[11]" value="10" type="hidden">
    <input name="q[11]" value="0" type="radio">
    || A volte
    <input name="q[11]" value="4" type="radio">
    || Spesso
    <input name="q[11]" value="7" type="radio">
    || Sempre
    <input name="q[11]" value="10" type="radio">




    12 - Saresti disposto a sacrificare un'amicizia per raggiungere un obiettivo importante?

    <span class="Stile1">Mai </span>
    <input name="qtot[12]" value="10" type="hidden">
    <input name="q[12]" value="0" type="radio">
    || A volte
    <input name="q[12]" value="4" type="radio">
    || Spesso
    <input name="q[12]" value="7" type="radio">
    || Sempre
    <input name="q[12]" value="10" type="radio">




    13 - Ritieni che nella vita non ci si debba mai accontentare?

    <span class="Stile1">Mai </span>
    <input name="qtot[13]" value="10" type="hidden">
    <input name="q[13]" value="0" type="radio">
    || A volte
    <input name="q[13]" value="4" type="radio">
    || Spesso
    <input name="q[13]" value="7" type="radio">
    || Sempre
    <input name="q[13]" value="10" type="radio">




    14 - Preferisci un lavoro meno pagato ma con poche responsabilità o un lavoro più pagato ma con grandi responsabilità e rischi?

    <span class="Stile1">Meno pagato / poche responsabilità </span>
    <input name="qtot[14]" value="10" type="hidden">
    <input name="q[14]" value="0" type="radio">
    || Più pagato / grandi responsabilità
    <input name="q[14]" value="10" type="radio">




    15 - Ritieni che le opportunità vadano create oppure che capitino per caso?

    <span class="Stile1">Vadano create </span>
    <input name="qtot[15]" value="10" type="hidden">
    <input name="q[15]" value="10" type="radio">
    || Capitino per caso
    <input name="q[15]" value="0" type="radio">
    </p></td>
    </tr>
    <tr>
    <td height="56" bgcolor="#FFFFFF"><div align="center">
    <input name="submit" value=" Vedi risultato " type="submit">
    <input name="CANCELLA" value=" Reset " type="reset">
    </div></td>
    </tr>
    </tbody></table>
    </form>
    </td>
    </tr>
    </table>

  6. #6
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Edita il post, metti il codice tra i tag [ code ] e [/ code ] senza spazi, rifacendo anche copia/incolla del codice.
    Messo così senza indentazione viene il mal di testa a leggerlo.

  7. #7
    Come? Dove copiarlo? Scusatemi ma non sono moltio pratico
    Sai cercavo una soluzione per inserire test su un sito joomla ma sono tutti a pagamento cosi ho pensato di crearli io pagina per pagina. Ma conoscete qualche programma che mi può aiutare a crearli automaticamente?

  8. #8
    Vorrei fare la Terza opzione. COme posso fare? Sfruttando qusti due file che vi ho postato.
    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.