Visualizzazione risultati 1 fino 9 di 9

Discussione: inviare più form con un solo pulsante

  1. #1
    Guest

    Predefinito inviare più form con un solo pulsante

    Allora, volevo creare una specie di sondaggio, che con ogni domanda ci siano 3 risposte.
    Ho optato quindi per gli imput radio, e ho creato il seguente codice html:

    Codice HTML:
    <form action="b.php" method="get">
    Domanda 1...?
    <input type="radio" name="uno" />Importante<br>
    <input type="radio" name="due" />Medio<br>
    <input type="radio" name="tre" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>
    <form action="b.php" method="get">
    Domanda 2...?
    <input type="radio" name="uno" />Importante<br>
    <input type="radio" name="due" />Medio<br>
    <input type="radio" name="tre" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>
    Ovviamente con più domande...Il problema di questo codice è che per inviare i dati alla pagina in cui ho messo il codice php per elaborarli consente di inviare un form solo...
    La domanda è: come fare per inviare tutti i form contemporaneamente? Devo dare qualche attributo tipo name ai form e specificarli nel form submit?

    Grazie 1000

  2. #2
    Guest

    Predefinito

    La logica in sé è sbagliata.
    Io utilizzerei un solo form e i radiobutton li chiamerei diversamente da domanda a domanda.


    Ciao!

  3. #3
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    La logica in sé è sbagliata.
    Io utilizzerei un solo form e i radiobutton li chiamerei diversamente da domanda a domanda.


    Ciao!
    Ah non pensavo che si selezionavano a seconda del nome, pensavo solo uno dei tre, ed invece è solo uno di quelli con lo stesso nome, grazie

    Ma se ad esempio nel codice php devo aggiungere 1 ad una variabile se il pallino è messo nel primo, 2 se nel secondo e 3 nel terzo, come posso fare? tipo se nel radio chiamato "uno" ho tre scelte, PHP le memorizza come "uno[0]", "uno[1]" ed "uno[2]"?

  4. #4
    Guest

    Predefinito

    Nello script che riceve avrai:

    $_GET['uno']='valore';

    Ma ti sei dimenticato di dare un valore (proprietà 'value') ai radio:
    Codice HTML:
    <form action="b.php" method="get">
    Domanda 1...?
    <input type="radio" name="uno" value="1" />Importante<br>
    <input type="radio" name="uno" value="2" />Medio<br>
    <input type="radio" name="uno" value="3" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>
    <form action="b.php" method="get">
    Domanda 2...?
    <input type="radio" name="due" value="1" />Importante<br>
    <input type="radio" name="due" value="2" />Medio<br>
    <input type="radio" name="due" value="3" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>

    Ciao!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Nello script che riceve avrai:

    $_GET['uno']='valore';

    Ma ti sei dimenticato di dare un valore (proprietà 'value') ai radio:
    Codice HTML:
    <form action="b.php" method="get">
    Domanda 1...?
    <input type="radio" name="uno" value="1" />Importante<br>
    <input type="radio" name="uno" value="2" />Medio<br>
    <input type="radio" name="uno" value="3" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>
    <form action="b.php" method="get">
    Domanda 2...?
    <input type="radio" name="due" value="1" />Importante<br>
    <input type="radio" name="due" value="2" />Medio<br>
    <input type="radio" name="due" value="3" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>

    Ciao!
    Eheh i radio li ho scoperti gg

    quindi dovrei fare così?

    Codice PHP:
    <?php
    $contatore
    = 0;
    if ((
    $_GET['uno']='1') == true) {
    $contatore = $contatore + 1;
    } else if ((
    $_GET['uno']='2') == true) {
    $cotatore = $contatore + 2;
    } else if ((
    $_GET['uno']='3') == true) {
    $cotatore = $contatore + 3;
    }
    if ((
    $_GET['due']='1') == true) {
    $cotatore = $contatore + 3;
    } else if ((
    $_GET['due']='2') == true) {
    $cotatore = $contatore + 3;
    } else if ((
    $_GET['due']='3') == true) {
    $cotatore = $contatore + 3;
    }
    ?>
    Potrebbe avvicinarsi?
    Ti ringrazio di nuovo

  6. #6
    Guest

    Predefinito

    Bè, non so che punteggio devi dare alle risposte, quindi non saprei consigliarti un metodo pulito e corretto.

    Sicuramente ti posso dire di togliere quei "== true" perchè inutili, poichè l'istruzione if già controlla se ciò è al suo interno restituisce vero o falso.


    Ciao!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    Bè, non so che punteggio devi dare alle risposte, quindi non saprei consigliarti un metodo pulito e corretto.

    Sicuramente ti posso dire di togliere quei "== true" perchè inutili, poichè l'istruzione if già controlla se ciò è al suo interno restituisce vero o falso.

    Ciao!
    Ecco cosa volevo fare:
    in a.php:
    Codice HTML:
    <body>
    <form action="b.php" method="get">
    Domanda 1...?<br>
    <input type="radio" name="uno" value="1" />Importante<br>
    <input type="radio" name="uno" value="2" />Medio<br>
    <input type="radio" name="uno" value="3" />Non importante<br>
    Domanda 2...?<br>
    <input type="radio" name="due" value="1" />Importante<br>
    <input type="radio" name="due" value="2" />Medio<br>
    <input type="radio" name="due" value="3" />Non importante<br>
    <input type="submit" name="invia" value="invia" />
    </form>
    </body>
    volevo ad esempio che se clicchi su uno[1] (dove uno sta per l'attributo name del radio e [1] sta per il corrispondente value, così ci semplifichiamo la vita) memorizzasse una variabile $contatore il numero 1, con uno[2] il valore 2, con uno[3] il valore 3 e così anche per due[1,2,3], e alla fine sommare i valori sia di uno[...] che di due[...]
    Edempio: se clicco sulla prima domanda la prima scelta e sulla seconda la terza, il numero che avrà $contatore sarà 1+3=4

    Ecco il codice php che ho messo in b.php:
    Codice PHP:
    <?php
    $contatore
    = 0;
    if (
    $_GET['uno']='1') {
    $contatore = $contatore + 1;
    } else if (
    $_GET['uno']='2') {
    $cotatore = $contatore + 2;
    } else if (
    $_GET['uno']='3') {
    $cotatore = $contatore + 3;
    }
    if (
    $_GET['due']='1') {
    $cotatore = $contatore + 1;
    } else if (
    $_GET['due']='2') {
    $cotatore = $contatore + 2;
    } else if (
    $_GET['due']='3') {
    $cotatore = $contatore + 3;
    }
    echo
    $contatore;
    ?>
    Solo che mi scrive sempre 1...

  8. #8
    Guest

    Predefinito

    La corretta sintassi della if è:

    if ($_GET['uno']=='1') {


    Ciao!

  9. #9
    Guest

    Predefinito

    Citazione Originalmente inviato da debug Visualizza messaggio
    La corretta sintassi della if è:

    if ($_GET['uno']=='1') {


    Ciao!
    non va lo stesso...mi da come risultato sempre 1...guarda

    EDIT: anzi mi da come risultati 1 e 0...
    EDIT2: ho scoperto che il primo pallino va, tutti gli altri no, e non capisco perchè...
    Ultima modifica di NokiaN70 : 25-08-2008 alle ore 12.02.20

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •