Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [selezionare più valori di checkbox e memorizzarli insieme

    Ciao a tutti, sto iniziando solo adesso a programmare in php e avrei bisogno di un semplice consiglio; io ho un form con 15 checkbox e avrei bisogno di memorizzare il valore associato ad ognuna, quando vengono selezionate, in un'unica variabile. Vorrei però evitare di dover scrivere

    $scelta = $_POST["primovalore"];
    $scelta .=$_POST["secondovalore"];
    ecc
    ecc
    ecc

    per 15 volte.
    Come posso fare? Io ho pensato ad un for loop ma non essendo pratico del linguaggio non so se sia la scelta migliore.
    Grazie in anticipo per che mi aiuta!

  2. #2
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    dai alle checkbox l'attributo name="nome_var[]", dopodichè recupera tutti i dati da $_POST['nome_var'], che sarà un array. Vedi tu poi come gestirlo, ad esempio con un foreach.

  3. #3
    Potresti chiamare la tue checkbox così:
    Codice PHP:
    <input type="checkbox" name="check_1">
    <
    input type="checkbox" name="check_2">
    <
    input type="checkbox" name="check_3">
    ... 
    Poi recuperi i loro valori così:
    Codice PHP:
    $scelta "";
    $max_numero il_numero_più_grande_delle_checkbox;
    for(
    $i 1$i <= $max_numero; $++){
    $scelta .= $_POST["check_" $i ""];

    Ti dico già da ora che è una schifezza proceder ein questa direzione.

  4. #4
    Originariamente inviato da Laxus
    dai alle checkbox l'attributo name="nome_var[]", dopodichè recupera tutti i dati da $_POST['nome_var'], che sarà un array. Vedi tu poi come gestirlo, ad esempio con un foreach.
    In effetti Laxus ha ragione, io pensavo si volesse dare alle checkbox un nome diverso.

  5. #5
    Originariamente inviato da Laxus
    dai alle checkbox l'attributo name="nome_var[]", dopodichè recupera tutti i dati da $_POST['nome_var'], che sarà un array. Vedi tu poi come gestirlo, ad esempio con un foreach.
    ok questa mi sembra la scelta migliore. Ho però ancora una domanda, io ho le checkbox in una pagina che contiene il form e che ha come action quello di richiamare una pagina php in cui viene processato il form.
    Il foreach lo devo mettere in questa seconda pagina vero?
    Potresti farmi un esempio di come lo faresti tu?

  6. #6
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    Il foreach lo devo mettere in questa seconda pagina vero?
    Si, certo.
    Potresti farmi un esempio di come lo faresti tu?
    Codice PHP:
    $var $_POST['checkbox'];
    $scelta '';
    foreach(
    $var as $c)
    {
    $scelta .= $c;
    }

    echo 
    $scelta

  7. #7
    Oppure:
    Codice PHP:
    $var $_POST['checkbox']; 
    $scelta implode(""$var);
    echo 
    $scelta

  8. #8
    Originariamente inviato da Laxus
    Si, certo.

    Codice PHP:
    $var $_POST['checkbox'];
    $scelta '';
    foreach(
    $var as $c)
    {
    $scelta .= $c;
    }

    echo 
    $scelta
    perfetto!funziona tutto correttamente!Grazie mille. Ne approfitto e ti chiedo solo un'altra cosa, se volessi visualizzarli non tutti di fila i risultati?Come posso fare? devo aggiungere dei
    ?

  9. #9
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    Devi solo aggiungere il
    alla fine di ogni ciclo: $scelta .= $c . '
    ';
    oppure $scelta = implode("
    ", $var);
    nel caso ti voglia seguire il suggerimento di Dirk Pitt, che è quello che consiglierei anche io.

  10. #10
    grazie a tutti e due,mi siete stati utilissimi

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.