Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Problema con i radiobutton
Forum - PHP - Problema con i radiobutton

Avatar
enrico_84 (Ex-Member)
Newbie


Messaggi: 12
Iscritto: 29/06/2009

Segnala al moderatore
Postato alle 19:09
Giovedì, 07/06/2012
Salve, devo scrivere un codice in cui sono ina pagina web dove prendo da un database una serie di domande, ed accanto ad ogni domanda mi escono 3 radiobutton con la risposta da scegliere (SI-NO-FORSE).
esempio:

Domanda 1 - SI / NO / FORSE
Domanda 2 - SI / NO / FORSE
....
Domanda n . SI / NO / FORSE  

Dopo aver scelto le risposte per ogni domanda, devo andare in una pagina "Riepilogo" in cui compaiono di nuovo le domande, ed accanto ad ogni domanda SOLO la risposta data nella pagina precedente, ad esempio SI vicino la prima domanda, NO vicino la seconda e FORSE vicino la terza.

Domanda 1 - SI
Domanda 2 - NO

Domanda n - FORSE  

Vi posto il codice da me inserito per fare ciò.
Codice con domande ed i radiobutton:
Codice sorgente - presumibilmente Plain Text

  1. echo "<form name=\"sondaggio\" method=\"POST\" action=\"riepilogo.php\">";
  2.         echo "<table cellpadding=\"4\">";
  3.  
  4.         while($row=mysql_fetch_array($risultato, MYSQL_ASSOC))
  5.         {
  6.                 $risposta = "$row[domanda]";
  7.                 echo "<tr><td>$row[domanda]</td>".
  8.                         "<td><input type=\"radio\" name=\"$risposta\" value=\"si\">Si"."<input type=\"radio\" name=\"$risposta\" value=\"no\">No".
  9.         "<input type=\"radio\" name=\"$risposta\" value=\"forse\">Forse";
  10.                 echo "</td></tr>";
  11.  
  12.         }
  13.         echo "<tr><td colspan=\"2\" align=\"center\">";
  14.         echo "<input type=\"submit\" value=\"Vota!!!\">";
  15.         echo "</td></tr>";
  16.         echo "</table>";
  17.         echo "</form>";



ed ora il codice della pagina che dovrebbe prendere le risposte:
Codice sorgente - presumibilmente Plain Text

  1. $sceltaUtente1 = $_POST['$risposta'];
  2.         $sceltaUtente2 = $_POST['$risposta'];
  3.         $sceltaUtente3 = $_POST['$risposta'];
  4.         echo "$sceltaUtente1<br>";
  5.         echo "$sceltaUtente2<br>";
  6.         echo "$sceltaUtente3";



Il problema che facendo così non riesco a prendere le risposte dai radiobutton.

Aspetto un vostro aiuto,

Enrico:)


PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 21:52
Giovedì, 07/06/2012
Uhm da quello che ho capito devi ottenere una lista delle variabili POST; ptresti scorrere l'array con un foreach, come spiegato qui http://php.net/manual/en/control-structures.foreach.php.

PM Quote
Avatar
enrico_84 (Ex-Member)
Newbie


Messaggi: 12
Iscritto: 29/06/2009

Segnala al moderatore
Postato alle 12:55
Venerdì, 08/06/2012
Risolto con questo foreach nel codice che mi mostra i risultati:
Codice sorgente - presumibilmente PHP

  1. foreach($_POST as $key=>$value) {
  2.   echo "$key: ".$value."<br>";
  3. }



ora però mi escono degli "underscore" tra le parole della domanda, invece dei consueti spazi bianchi. Come eliminare l'underscore??

Ultima modifica effettuata da enrico_84 il 08/06/2012 alle 13:06
PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 21:17
Venerdì, 08/06/2012
Non so perchè succeda però per sistemarlo dovrebbe bastare str_replace:
Codice sorgente - presumibilmente PHP

  1. foreach($_POST as $key=>$value) {
  2. $key=str_replace("_", " ", $key);
  3. echo "$key: ".$value."<br>";
  4. }


PM Quote