Visualizzazione risultati 1 fino 14 di 14

Discussione: prendere valore radio button premuto

  1. #1
    Guest

    Predefinito prendere valore radio button premuto

    Salve, ho una pagina dove c'è un form di radio button in php-html VORREI SAPERE COME RECUPERARE IL VALORE DEI RADIO BUTTON che seleziono, i radio button sono in serie di 3 per riga uno esclude l'altro e in alcune righe posso anche non cliccare niente.
    http://www.sinopoli.altervista.org/p...ionato=Serie+A

    codice

    Codice PHP:
    <html>
    <form action="schedina.php" method="form">
    <DIV align="center">
    <?php
    //connessione db

    $stringa2="SELECT nome_squadra FROM campionatisquadre WHERE (nome_campionato='{$_GET['campionato']}') ORDER BY RAND() LIMIT 0,254;";
    $ris2=mysql_query($stringa2);
    $x=1;
    $resto;
    while(
    $riga2=mysql_fetch_array($ris2))
    {
    $resto=$x%2;
    echo
    $riga2[0];
    if(
    $resto!='0' || $x==1)
    {
    echo
    ' - ';
    $stringa4="SELECT vittorieincasa,pareggiincasa,sconfitteincasa FROM squadre WHERE (nome_squadra='{$riga2[0]}')";
    $squadra1=$riga2[0];
    $ris4 = mysql_query($stringa4);
    while(
    $riga4=mysql_fetch_array($ris4))
    {
    $vitcasa=$riga4["vittorieincasa"];
    $parcasa=$riga4["pareggiincasa"];
    $scocasa=$riga4["sconfitteincasa"];
    }
    $stringa5="SELECT (vittorieincasa+pareggiincasa+sconfitteincasa)AS sompcasa FROM squadre WHERE (nome_squadra='{$riga2[0]}')";
    $ris5 = mysql_query($stringa5);
    while(
    $riga5=mysql_fetch_array($ris5))
    $sompcasa=$riga5["sompcasa"];
    }

    else
    {
    $stringa3="SELECT sconfitteintrasferta,pareggiintrasferta,vittorieintrasferta FROM squadre WHERE (nome_squadra='{$riga2[0]}')";
    $squadra2=$riga2[0];
    $ris3 = mysql_query($stringa3);
    while(
    $riga3=mysql_fetch_array($ris3))
    {
    $sconftrasf=$riga3["sconfitteintrasferta"];
    $partrasf=$riga3["pareggiintrasferta"];
    $vittrasf=$riga3["vittorieintrasferta"];
    }
    $stringa6="SELECT (vittorieintrasferta+pareggiintrasferta+sconfitteintrasferta)AS somptrasf FROM squadre WHERE (nome_squadra='{$riga2[0]}')";
    $ris6 = mysql_query($stringa6);
    while(
    $riga6=mysql_fetch_array($ris6))
    $somptrasf=$riga6["somptrasf"];
    $quota1=100/((($vitcasa+$sconftrasf)/($sompcasa+$somptrasf))*100);
    $quotax=100/((($parcasa+$partrasf)/($sompcasa+$somptrasf))*100);
    $quota2=100/((($scocasa+$vittrasf)/($sompcasa+$somptrasf))*100);
    $quota1=number_format( $quota1, 2);
    $quotax=number_format( $quotax, 2);
    $quota2=number_format( $quota2, 2);
    if(
    $quota1=='0')
    $quota1=8;
    if(
    $quotax=='0')
    $quotax=8;
    if(
    $quota2=='0')
    $quota2=8;
    $squadra1=(urlencode($squadra1));
    $squadra2=(urlencode($squadra2));
    echo
    '<br>';
    echo
    "<pre>$quota1<input type='radio' name='".$x."' value='".$quota1."'/> $quotax<input type='radio' name='".$x."' value='".$quotax."'/> $quota2<input type='radio' name='".$x."' value='".$quota2."'/></pre>";
    echo
    '<br>';
    }
    $x=$x+1;
    }
    ?>
    <br><input type="submit" value="Conferma" /><br>
    <a href="index.php">torna alla Home page</a>
    </DIV>
    </FORM>
    </BODY>
    </HTML>
    GRAZIE A TUTTI
    Ultima modifica di dreadnaut : 11-06-2012 alle ore 13.42.42 Motivo: + tag [php]

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Codice PHP:
    method="form"
    Mi sa che hai le idee non chiare.

    I dati si prelevano come qualsiasi altro form: tramite il name.

    Ciao!

  3. #3
    Guest

    Predefinito

    e cosa dovrei mettere? non puoi essere più esplicito perfavore.

    posto il codice della pagina schedina.php dpve prelevo i valori dei radio solo che m stampa 0
    Codice PHP:
    <?php
    $c
    =0;$v=0;
    while(
    $c<$_GET[r])
    {
    if (empty(
    $_POST[$c])) $quota= "";
    else
    {
    if(
    $_POST['&c']==$quota1)
    $v=$v+$quota1;
    if(
    $_POST['&c']==$quotax)
    $v=$v+$quotax;
    if(
    $_POST['&c']==$quota2)
    $v=$v+$quota1;
    }
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ultima modifica di alemoppo : 11-06-2012 alle ore 19.55.03 Motivo: +tag [php]

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Citazione Originalmente inviato da sinopoli Visualizza messaggio
    e cosa dovrei mettere?
    method può essere o post, o get. Form non ha senso.

    Citazione Originalmente inviato da sinopoli Visualizza messaggio
    while($c<$_GET[r])
    Cosa è r ?

    Citazione Originalmente inviato da sinopoli Visualizza messaggio
    Codice PHP:
    if($_POST['&c']==$quota1)
    ...
    etc...
    Cosa è '&c' ?

    Se ho inteso quello che vuoi fare, crea un input di tipo hidden, con dentro il numero massimo di $x, mentre stampi il form. Penso sia quello che volevi chiamare r.
    In pratica, aggiungere al form:

    Codice PHP:
    <input type="hidden" name="r" value="<?php echo $x-1; ?>"><br><input type="submit" value="Conferma" /><br>
    <a href="index.php">torna alla Home page</a>
    </DIV>
    </FORM>
    </BODY>
    </HTML>
    Quindi, puoi fare una cosa del tipo:

    Codice PHP:
    <?php
    $c
    =0;$v=0;
    if(isset(
    $_GET['r']))
    while(
    $c<$_GET['r'])
    {
    if (empty(
    $_POST[$c])) $quota= ""; //questo non l'ho capito. A che serve $quota?
    else
    {
    if(
    $_POST[$c]==$quota1)
    $v=$v+$quota1;
    if(
    $_POST[$c]==$quotax)
    $v=$v+$quotax;
    if(
    $_POST[$c]==$quota2)
    $v=$v+$quota1; //non dovrebbe essere quota2?
    }
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ciao!

  5. #5
    Guest

    Predefinito

    Ho fatto tutto quello che hai detto te ma mi stampa ancora 0

    Codice HTML:
    Codice PHP:
    <form action="schedina.php" method="GET">
    $quota1<input type='radio' name='".$r."' value='".$quota1."'/>
    $quotax<input type='radio' name='".$r."' value='".$quotax."'/>
    $quota2<input type='radio' name='".$r."' value='".$quota2."'/>
    <input type="hidden" name="r" value="<?php echo $x-1; ?>">
    <input type="submit" value="Conferma" />

    Codice PHP:
    <?php
    $c
    =0;$v=0;

    while(
    $c<$_GET[r])
    {
    if (empty(
    $_POST[$c]))
    $v=$v;
    else
    {
    if(
    $_POST['$c']==$quota1)
    $v=$v+$quota1;
    if(
    $_POST['$c']==$quotax)
    $v=$v+$quotax;
    if(
    $_POST['$c']==$quota2)
    $v=$v+$quota2;
    }
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ultima modifica di alemoppo : 12-06-2012 alle ore 12.49.12 Motivo: +tag [php]

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Perché nel PHP usi POST e nel form hai messo GET?

    Inoltre, perché hai aggiunto gli apici in $_POST['$c'] ? Le variabili nei singoli apici non vengono sostituite con il loro valore. Semmai puoi metterci i doppi apici, ma è comunque meglio non metter nulla.

    -----


    Codice PHP:
    if (empty($_POST[$c]))
    $v=$v


    A sto punto (se vuoi usare get), fai:
    Codice PHP:
    <?php
    $c
    =0;$v=0;

    if(isset(
    $_GET['r']))
    while(
    $c<$_GET['r'])
    {
    if(!empty(
    $_GET[$c]))
    {
    if(
    $_GET[$c]==$quota1)
    $v=$v+$quota1;
    if(
    $_GET[$c]==$quotax)
    $v=$v+$quotax;
    if(
    $_GET[$c]==$quota2)
    $v=$v+$quota2;
    }
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ma le variabili $quota1, $quota2, $quotax sono inizlializzate?

    Ciao!

    EDIT:

    Ho dato un'occhiata qui, ma il campo hidden ha valore 20 , mentre dovrebbe aver valore 9, visto che i name vanno da 0 a 9.

    Codice HTML:
    <input type='radio' name='9' value='1.25'/>
    5.00<input type='radio' name='9' value='5.00'/>
    8<input type='radio' name='9' value='8'/></pre><br>
    Quanto vuoi scommettere:
    <input type='text' name='p'>euro<br><br>
    <input type="hidden" name="r" value="20">
    Con un $_GET['r'] (o post), il while andrebbe da 0 a 19, mentre $_GET[$c] (o post) esistono fino al 9, appunto.

    Ciao!
    Ultima modifica di alemoppo : 12-06-2012 alle ore 12.57.41

  7. #7
    Guest

    Predefinito

    Io dalla prima pagina devo passare all'altra $r per sapere quanti radio button ci sono, $quota1, $quota2, $quotax che sono i value dei bottoni che devo riprendere nell'altra pagina:
    Mi puoi spiegare cos'è input type="hidden" nella barra dell'url si vede che nn gli passa niente.
    Ho cambiato il codice ma nn va ugualmente.
    Codice PHP:
    <form action="schedina.php" method="POST">
    $quota1<input type='radio' name='".$r."' value='".$quota1."'/>
    $quotax<input type='radio' name='".$r."' value='".$quotax."'/>
    $quota2<input type='radio' name='".$r."' value='".$quota2."'/>
    <input type="hidden" name="r" value="<?php echo $r-1; ?>">
    <input type="submit" value="Conferma" />


    <?php
    $c
    =0;$v=0;

    while(
    $c<$_GET[r])
    {
    if (empty(
    $_POST[$c]))
    $v=$v;
    else
    {
    if(
    $_POST[$c]==$_POST[$quota1])
    $v=$v+$_POST[$quota1];
    if(
    $_POST[$c]==$_POST[$quotax])
    $v=$v+$_POST[$quotax];
    if(
    $_POST[$c]==$_POST[$quota2])
    $v=$v+$_POST[$quota2];
    }
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ultima modifica di alemoppo : 12-06-2012 alle ore 15.21.56 Motivo: +tag [php]

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Gli input hidden sono normali input, che servono per passare altri dati non (apparentemente) visibili per l'utente.

    Nella barra degli input non si vede nulla, perché il method del form non è GET, ma POST. Se fosse get, li vedresti nell'url.

    Per le altre cose, rileggi il mio messaggio sopra: nella pagina "partite.php" le variabili $quota1, $quota2, $quotax sono inizializzate, perché:
    Codice PHP:
    $quota1=100/((($vitcasa+$sconftrasf)/($sompcasa+$somptrasf))*100);
    $quotax=100/((($parcasa+$partrasf)/($sompcasa+$somptrasf))*100);
    $quota2=100/((($scocasa+$vittrasf)/($sompcasa+$somptrasf))*100);
    $quota1=number_format( $quota1, 2);
    $quotax=number_format( $quotax, 2);
    $quota2=number_format( $quota2, 2);
    if(
    $quota1=='0')
    $quota1=8;
    if(
    $quotax=='0')
    $quotax=8;
    if(
    $quota2=='0')
    $quota2=8;
    Però, nel file "schiedina.php" non esistono. Quindi dovresti passare anche quei valori tramite gli input hidden. (anche se a livello di sicurezza non sarebbe il massimo, perché un utente medio-esperto può facilmente modificare tali parametri.. quindi andrebbero ri-prelevati dal database).

    Prova a mettere in alto nei codici il comando error_reporting(E_ALL);, così ti vengono mostrati tutti gli eventuali errori.

    Ciao!

  9. #9
    Guest

    Predefinito

    Ma form action="schedina.php" non server per passare alla premuta del bottone il valore dei radio button selezionati? ho provato a fare gli input hidden di $quota1, $quota2, $quotax ma nn funziona lo stesso

    <input type="hidden" name="quota1" value="<?php echo $quota1; ?>">
    <input type="hidden" name="quotax" value="<?php echo $quotax; ?>">
    <input type="hidden" name="quota2" value="<?php echo $quota2; ?>">

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Citazione Originalmente inviato da sinopoli Visualizza messaggio
    Ma form action="schedina.php" non server per passare alla premuta del bottone il valore dei radio button selezionati?
    Sì... Però schedina.php ha bisogno di sapere anche quanti bottoni ci sono, e i vari $quota1, $quota2, $quotax...

    Le varie quote, in schedina.php si ricavano con
    Codice PHP:
    $_POST['quota1']
    $_POST['quota2']
    $_POST['quotax']
    Ciao!
    Ultima modifica di alemoppo : 14-06-2012 alle ore 14.35.52

  11. #11
    Guest

    Predefinito

    Il problema sta nel recuperare i valori di $quota1, $quota2, $quotax che sarebbero i value dei bottoni che stampa però essendo dentro un while sono sempre diversi

    AIUTOOOO! chiedi rinforzi

  12. #12
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Citazione Originalmente inviato da sinopoli Visualizza messaggio
    Il problema sta nel recuperare i valori di $quota1, $quota2, $quotax che sarebbero i value dei bottoni che stampa però essendo dentro un while sono sempre diversi

    AIUTOOOO! chiedi rinforzi
    Ma che stai dicendo?

    Puoi scrivere i sorgenti come sono adesso?

    Ciao!
    Ultima modifica di alemoppo : 14-06-2012 alle ore 17.41.46

  13. #13
    Guest

    Predefinito

    Ci sono riuscito ecco qua:
    Codice PHP:
    <?php
    $c
    =0;$v=0;
    while(
    $c<$_POST['r'])
    {
    if (empty(
    $_POST[$c]))
    $v=$v;
    else
    $v=$v+$_POST[$c];
    $c=$c+1;
    }
    echo
    $v;
    ?>
    Ultima modifica di alemoppo : 14-06-2012 alle ore 21.31.25

  14. #14
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,247

    Predefinito

    Come ti avevo detto già sopra.. che senso ha assegnare il valore di $v a $v ??

    Sarebbe meglio:

    Codice PHP:
    <?php
    $c
    =0;$v=0;
    while(
    $c<$_POST['r'])
    {
    if (!empty(
    $_POST[$c]))
    $v=$v+$_POST[$c];
    $c=$c+1;
    }
    echo
    $v;
    ?>
    O, ancora meglio:
    Codice PHP:
    <?php
    for($c=0,$v=0;$c<$_POST['r'];$c++)
    if (!empty(
    $_POST[$c]))
    $v=$v+$_POST[$c];
    echo
    $v;
    ?>

    Ciao!
    Ultima modifica di alemoppo : 14-06-2012 alle ore 21.34.09

Regole di scrittura

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