• User

    Che risultato vuoi ottenere ?


  • User Newbie

    Ciao, io scelgo l'esercizio da una pagina html, la scelta è gestita con checkbox

    mi deve restituire quante ore occorrono per bruciare 500 g di grasso con quell'esercizio.

    Ma non riesce a prendermi l'esercizio e quindi a non restituirmi nè l'ora nè l'esercizio.


  • ModSenior

    Ciao Z_E_P,

    $valore_esercizio è un array mentre tu lo utilizzi come una variabile.


  • User Newbie

    Ciao, mi rendo conto che $valore_esercizio è un array, magari sbaglio ad usarlo

    avete o hai un alternativa a questo?

    $valore_esercizio = $_POST['esercizio'];
    $name_esercizio=$array_box[$valore_esercizio];
    $ore=$array_ore[$valore_esercizio];

    Cioè l'informazione che passo tramite form (array) la devo poi confrontare con il mio array $array_box, per poi stampare il messaggio giusto.

    Grazie


  • User

    [PHP]
    $array_box=array( 0 => 'cyclette',
    1 => 'bici',
    2 => 'corsa',
    3 => 'nuoto',
    4 => 'passeggiata',
    5 => 'sesso'
    ); ;

    $array_ore = array( 0 => '3 ore e 30 minuti',
    1 => '2 ore e 30 minuti',
    2 => '4 ore e 30 minuti' ,
    3 => '5 ore e 30 minuti',
    4 => '12 ore e 30 minuti',
    5 => '7 ore');

    //ti dovrebbe mostrare l'esercizio
    echo $array_box[$_POST['esercizio']];
    //ti dovrebbe mostrare quante ore
    echo $array_ore[$_POST['exercizio']];
    [/PHP]


  • User Newbie

    Ho tolto tutto è ho scritto direttamente

    $message = "occorrono ".$array_ore[$_POST['esercizio']]." di ".$array_box[$_POST['esercizio']];

    niente da fare mi restituisce "occorrono di..." senza valorizzare
    forse sbaglio il form ma mi sembra strano, perche dall'output in base ai vari echo mi sembra giusto...

    ps: avrò qualche problema con qualche configurazione php?


  • ModSenior

    Se $valore_esercizio è un array va usato come tale quindi devi decidere quale indice usare o ciclare l'array a seconda di cosa devi fare.


  • User

    Forse è meglio così, nel if controllo se è stato premuto submit e se il valore inviato nel $_POST['esercizio'] è numerico.
    Forse htmlspecialchars e strip_tags non dovevo metteri, ma per sicurezza.
    Non l'ho provato, per dirti che funziona al 100% ma dovrebbe funzionare.

    [PHP]
    if($_POST['submit'] AND is_numeric($_POST['esercizio'])){

    $esercizio = htmlspecialchars(strip_tags($_POST['esercizio']));

    $array_box=array( 0 => 'cyclette',
    1 => 'bici',
    2 => 'corsa',
    3 => 'nuoto',
    4 => 'passeggiata',
    5 => 'sesso'
    ); ;

    $array_ore = array( 0 => '3 ore e 30 minuti',
    1 => '2 ore e 30 minuti',
    2 => '4 ore e 30 minuti' ,
    3 => '5 ore e 30 minuti',
    4 => '12 ore e 30 minuti',
    5 => '7 ore');

    $message = "occorrono ".$array_ore[$esercizio]." di ".$array_box[$esercizio];

    }
    [/PHP]


  • User Newbie

    Proverò, e vi farò sapere appena possibile 🙂

    Ciaooo


  • User Newbie

    if($_POST['submit'] AND is_numeric($_POST['esercizio'])){

    $esercizio = htmlspecialchars(strip_tags($_POST['esercizio']));

    $array_box=array( 0 => 'cyclette',
    1 => 'bici',
    2 => 'corsa',
    3 => 'nuoto',
    4 => 'passeggiata',
    5 => 'sesso'
    ); ;

    $array_ore = array( 0 => '3 ore e 30 minuti',
    1 => '2 ore e 30 minuti',
    2 => '4 ore e 30 minuti' ,
    3 => '5 ore e 30 minuti',
    4 => '12 ore e 30 minuti',
    5 => '7 ore');

    $message = "occorrono ".$array_ore[$esercizio]." di ".$array_box[$esercizio];

    }

    Niente da fare, credo che dovrò trovare un'altra soluzione, sicuramente meno elegante, avete idee? 🙂


  • User Newbie

    Alla fine ho risolto così

    [PHP]foreach ($valore_esercizio as $key => $valore)
    {
    $message= "che per bruciare 500 g di grasso occorrono ".$array_ore[$key]." di " .$valore_esercizio[$key];[/PHP]

    Grazie per l'aiuto

    Però adesso avrei il problema della valorizzazione dell'array multidimensionale

    [PHP]foreach ($valore_esercizio as $key1 => $v1) {
    // echo "$key1<br>";
    // echo "<br>$v1";
    foreach ($v1 as $key2 => $v2) {
    // echo"<br>$Key2";
    echo "<br>$v2";
    // $message= "che per bruciare 500 g di grasso occorrono ".$array_ore[$key1][$Key2]." di " .$valore_esercizio[$key1][$Key2];

    [/PHP]

    Output:

    Notice: Undefined variable: Key2 in /var/XXXXXXXX/ on line 68

    Notice: Undefined index: in /var/XXXXXXXX/ on line 68

    Notice: Undefined variable: Key2 in /var/XXXXXXXX/ on line 68

    Notice: Undefined index: in /var/XXXXXXXX/ on line 68
    BODY, P {color:black; font-family:verdana; font-size:10 pt} H1 {color:black; font-family:arial; font-size:12 pt} Calcolatore di esercizi

                         Il calcolatore di esercizi dice:
    

    che per bruciare 500 g di grasso occorrono di

    non valorizza niente e mi da errore sulla Key2