Visualizzazione dei risultati da 1 a 8 su 8

Discussione: problemi con Array

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    19

    problemi con Array

    Ciao,

    Allora, ho qualche problemino a far stampare il valore desiderato all'array che passo tramite form




    <?php


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

    $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');


    // echo 'dopo array ore';


    if (is_array($_POST) && ($_POST) > 1){
    // echo '
    _post ok';


    $valore_esercizio = $_POST['esercizio'];
    echo 'valore_esercizio: '.$valore_esercizio.'
    ';
    print_r($_POST);
    // echo '
    assegnamento s_post ok
    ';
    $name_esercizio=$array_box[$valore_esercizio];
    //echo 'assegnamento array con valore esercizio';
    echo '
    nome esercizio: '.$name_esercizio;
    $ore=$array_ore[$valore_esercizio];
    }

    if (isSet($ore)){
    // $message = "occorrono ".$ore." di ".$name_esercizio;
    $message = "occorrono ".$array_ore[$valore_esercizio]." di ".$array_box[$valore_esercizio];
    }
    else {
    $message = "Non è stata selezionata nessuna voce";
    }

    la stampa è questa :

    valore_esercizio:
    Array ( [esercizio] => Array ( [0] => 1 ) [submit] => Calcola ) ps: non la capisco bene.
    nome esercizio:

    Calcolatore di esercizi

    Il calcolatore di esercizi dice:
    Non è stata selezionata nessuna voce


    Invece la voce è stta selezionata.

    ecco il form:

    <form method="POST" ACTION="gestore_esercizi_box2.php" >
    <input type="checkbox" name="esercizio[0]" value="1"/> cyclette


    <input type="checkbox" name="esercizio[1]" value="1"/> bici su strada


    <input type="checkbox" name="esercizio[2]" value="1"/> corsa


    <input type="checkbox" name="esercizio[3]" value="1"/> nuoto


    <input type="checkbox" name="esercizio[4]" value="1"/> passeggiata


    <input type="checkbox" name="esercizio[5]" value="1"/> sesso


    <input type="submit" name="submit" value="Calcola">
    </form>


    Grazie per il prezioso aiuto!!!

  2. #2
    Modifica la checkbox come segue:
    Codice PHP:
    <form method="POST" ACTION="gestore_esercizi_box2.php" >
    <
    input type="checkbox" name="esercizio[0]" value="1"/> cyclette


    <input type="checkbox" name="esercizio[]" value=/> bici su strada


    <input type="checkbox" name="esercizio[]" value=/> corsa


    <input type="checkbox" name="esercizio[]" value=/> nuoto


    <input type="checkbox" name="esercizio[]" value=/> passeggiata


    <input type="checkbox" name="esercizio[]" value="5 /> sesso


    <input type="
    submit" name="submit" value="Calcola">
    </form> 
    Così dovrebbe funzionare, ma ho dato davvero un'occhiata al volo allo script, e questo errore mi è saltato subito all'occhio!
    Magari c'è anche altro da correggere.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    19
    Ciao,

    Mi dispiace, ma neanche così mi va, ho fatto un copia e incolla del tuo FORM

    l'output è sempre :

    "valore_esercizio: Array
    Array ( [esercizio] => Array ( [0] => 1 ) [submit] => Calcola )
    nome esercizio:

    ll calcolatore di esercizi dice:
    Non è stata selezionata nessuna voce "


    Anche se non ho capito il mio errore

    Perfavore aiutatemi a capire questi array

  4. #4
    Nella pagina che riceve la form,
    gestore_esercizi_box2.php, scrivi quanto segue e basta:

    Codice PHP:
    echo "<pre>";
    echo 
    $_POST['esercizio'];
    echo 
    "</pre>";
    exit; 
    Poi incolla qui il risultato della pagina.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Aspetta.
    Mi rendo conto ora che quando ho copiato e corretto il codice del tuo primo post, non ho scritto bene tutto.
    La form scrivila così:
    Codice PHP:
    <form method="POST" ACTION="gestore_esercizi_box2.php" enctype="multipart/form-data"
    <
    input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> cyclette

     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> bici su strada

     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> corsa

     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> nuoto

     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> passeggiata

     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> sesso

     
    <input type="submit" name="submit" value="Calcola"
    </
    form
    Ho aggiunto anche gli attributi ID al tag checkbox, tante volte fosse un problema di compatibilità del browser.
    Ho anche aggiunto l'enctype al tag form!
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    19

    PASSAGGIO ARRAY TRAMITE FORM

    Scusa il ritardo, ma sono stato 3 giorni in vacanza

    Allora..io mi arrendo non so cosa sbaglio...ho eseguito quello che mi hai detto e sicuramente è giusto
    però non funziona, forse sbaglio qualcos'altro ma non so proprio cosa.

    ecco il form che uso:
    Codice PHP:

    <form method="POST" ACTION="gestore_esercizi_box2.php" enctype="multipart/form-data" >         
    <
    input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> cyclette

             
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> bici su strada

             
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> corsa

             
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> nuoto

             
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> passeggiata

            
     
    <input type="checkbox" id="esercizio[]" name="esercizio[]" value=/> sesso

            
     
    <input type="submit" name="submit" value="Calcola"> </form

    ecco file.php:

    Codice PHP:
    <?php        
    $array_box
    =array( => 'cyclette',  
                                  
    => 'bici'
                                  
    => 'corsa'
                                  
    => 'nuoto',
                                  
    => 'passeggiata',
                                  
    => 'sesso' 
                           
    ); 
    //    echo 'dopo array box';      

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

     
    //  echo 'dopo array ore';   
    echo "<pre>"
    echo 
    $_POST['esercizio']; 
    echo 
    "</pre>";  
    // exit;
     
    if (is_array($_POST) && ($_POST) > 1){
           
    //    echo '
    _post ok';        
          $valore_esercizio = $_POST['
    esercizio'];       
          echo '
    valore_esercizio'.$valore_esercizio.' 
    ';       
          print_r($_POST);      // echo ' 
    assegnamento s_post ok
     
    ';              $name_esercizio=$array_box[$valore_esercizio];       //echo 'assegnamento array con valore esercizio';
      echo '
    nome esercizio'.$name_esercizio;
          $ore=$array_ore[$valore_esercizio];
    }

    if (isSet($ore)){
      // $message = "occorrono ".$ore." di ".$name_esercizio;
         $message = "occorrono ".$array_ore[$valore_esercizio]." di ".$array_box[$valore_esercizio];
    }
    else {
           $message = "Non è stata selezionata nessuna voce";
          }

    ?>

          <html>
          <head>
            <style type ="text/css">

            BODY, P {color:black; font-family:verdana; font-size:10 pt}
            H1      {color:black; font-family:arial; font-size:12 pt}

            </style>
            </head>

            <body>
                            <table border=0 cellpading=30 width=100%>
                            <tr>
                            <td bgcolor="green" ALIGN =CENTER VALINGN=TOP WIDTH=150>
                            </td>
                            <td bgcolor="#FFFFFF" ALIGN =left VALINGN=TOP WIDTH=83%>
                            <H1>Calcolatore di esercizi</H1>
                            

    Il calcolatore di esercizi dice:
    <?php echo $message; ?> </P>
                            

                            </td>
                            </tr>
                           </table>
                            

                            


                            <center> [url="calcolatore_esercizi.html"] Torna indietro [/url]<center>
                            </body>
            </html>
    ecco l'output:

    Array

    valore_esercizio: Array
    Array ( [esercizio] => Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [submit] => Calcola )
    nome esercizio:

    Clacolatore di esercizi

    Il calcolatore di esercizi dice:
    Non è stata selezionata nessuna voce




    Torna indietro



    Se hai ancora pazienza ..THANK

    PS:qualche link per imparare in modo avanzato gli array e php in generale?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    19
    Ciao Raga,
    avete alternative al passaggio di array tramite form, come posso far accettare la scelta che faccio da checkbox e inviarla per la visualizzazione all'altra pagina?

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    19
    Giusto per completare la discussione

    ho risolto con

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


    Grazie a tutti per l'aiuto.

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