Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Gestione checkbox

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2022
    Messaggi
    5

    Gestione checkbox

    Ciao a tutti
    sono nuova e alle prime armi. Ho creato un modulo e i dati passati dall'utente li devo stampare a video in una tabella, ma ho difficoltà a intabellare correttamente i valori delle checkbox. Qualcuno potrebbe aiutarmi?
    Codice PHP:
    <?php
                $nome
    =$_GET['nome'];
                
    $passwordget=$_GET['password'];
                
    $password=sha1(md5(sha1($passwordget)));
                
    $pattern='/^(?=.*\d)(?=.*[A-Z])(?=.*[a-z])(?=.*[_.\-()?#;:!@])[0-9A-Za-z_.\-()?#;:!@]{8,15}$/';
                
    $argomenti=$_GET['argomenti'];

                if(isset(
    $_GET))
                {
                    if(isset(
    $_GET['nome']))
                    {
                        if(
    $_GET['nome']==null)
                        {
                            print(
    "<h4><center>Il campo 'nome' è vuoto!</center></h4>");    
                        }
                        elseif(!
    preg_match('/^[A-Za-z \'-]+$/i',$nome))
                        {
                            print(
    "<h4><center>Il nome contiene caratteri non ammessi!</center></h4>");
                        }
                        else
                        {
                            print(
    "<h4><center>Nome: OK!</center></h4>");
                        }
                    }
                    if(isset(
    $_GET['password']))
                    {
                        if(
    $_GET['password']==null)
                        {
                            print(
    "<h4><center>Il campo 'password' è vuoto</center></h4>");    
                        }
                        elseif(!
    preg_match($pattern,$_GET['password']))
                        {
                            print(
    "<h4><center>La password non rispetta i requisiti!</center></h4>");
                        }
                        else
                        {
                            print(
    "<h4><center>Password: OK!</center></h4>");
                        }
                    }
                    
                }
                

                if(empty(
    $_GET['argomenti']))
                {
                    print(
    "<h4><center>Nessun argomento selezionato!</center></h4>");
                }


                if(isset(
    $_GET['Invia!']))
                {
                    
                }
                
                
                
    //creo la tabella con le intestazioni TH
                
    print("<table border='1' width='800' cellspacing='0'>");
                print    (
    "<tr>");
                print        (
    "<th height='40'>Nome</th>");
                print        (
    "<th>Password</th>");
                print        (
    "<th>Informazioni su HTML</th>");
                print        (
    "<th>Immagini</th>");
                print        (
    "<th>Collegamenti e URL</th>");
                print        (
    "<th>Oggetti multimediali</th>");
                print        (
    "<th>XHTML versione 1.0</th>");
                print    (
    "</tr>");
                

                if(isset(
    $_GET))
                {
                    print    (
    "<tr>");
                    if(isset(
    $_GET['nome']))
                    {
                        print        (
    "<td height='28'>$nome</td>");
                    }
                    if(isset(
    $_GET['password']))
                    {
                        print        (
    "<td>$password</td>");
                    }
                    foreach(
    $_GET['argomenti'] as $key=>$value)
                    {
                        if(isset(
    $_GET['argomenti']))
                        {
                            if(
    $value=="si")
                            {
                                print(
    $value);
                            }
                            else
                            {
                                print(
    "no");
                            }
                        }    
                        print(
    "<td><center>"$value."</center></td>");
                        exit;
                    }                
                    print    (
    "</tr>");
                }
            
    ?>
    sicuramnte ho commesso altri errori, o se si può far meglio ditemelo.
    Grazie a tutti
    Ultima modifica di ella_n; 17-01-2022 a 15:43

  2. #2
    Ciao! Devi mostrarci come è fatta la maschera che invia questi dati, altrimenti non possiamo aiutarti!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2022
    Messaggi
    5
    Ciao, grazie per avermi risposto, scusate la posto di seguito.
    codice HTML:
    <html>
        <head>
            <title>SCELTA UTENTE</title>
        </head>
        <body>
                <table align="center" border="1">
             <tr>
                 <td>
                     <center>
                         <h1>Scelta Utente</h1>
                     </center>
                     <hr>
                     <form method="get" action="info2.php">
                         Nome: <input type="text" name="nome" size="15"><br>
                         Password: <input type="password" name="password" size="8"><br>
                    
                         Quali argomenti preferiresti approfondire:<br>
                         <input type="checkbox" name="argomenti[]" value="HTML"> Informazioni su HTML <br>
                         <input type="checkbox" name="argomenti[]" value="immagini"> Immagini <br>
                         <input type="checkbox" name="argomenti[]" value="collegamenti"> Collegamenti e URL <br>
                         <input type="checkbox" name="argomenti[]" value="multimedia"> Oggetti multimediali <br>
                         <input type="checkbox" name="argomenti[]" value="XHTML"> XHTML versione 1.0
                         <hr>
                    
                         <center>
                             <input type="submit" value="Invia!">
                             <input type="reset" value="Cancella tutto!">
                         </center>
                     </form>
                 </td>
            </tr>
        </table>
      </body>
    </html>     

  4. #4
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Il problema è che l'array argomenti ha una dimensione variabile in quanto dipende da quali checkbox sono stati selezionati.

    Puoi fare un due modi:

    1. cambi i checkbox così:

    codice:
     <input type="hidden" name="argomenti[HTML]" value="0">
     <input type="checkbox" name="argomenti[HTML]" value="1"> Informazioni su HTML <br>
    in questo modo nel foreach($_POST['argomenti'] as $value) ti basta solo controllare se $value == 1. $_POST['argomenti'] avrà sempre la stessa dimensione e ordine indipendentemente da cosa si sceglie

    2. Ti definisci un array con tutte le voci e fai ciclo su questo e non su $_POST['argomenti']. Controlli se la voce è presente in argomenti

    Codice PHP:

    $argomenti 
    = ['HTML''immagini'ect];
    ...

    foreach(
    $argomenti as $value){
        if(
    in_array($value$_POST['argomenti'])){
          ...
        }


  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2022
    Messaggi
    5
    Grazie mille per i suggerimenti!!!Ne provo subito una!!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2022
    Messaggi
    5
    Ciao boots,
    sono riuscita a risolvere grazie al tuo secondo suggerimento.
    Ho provato più volte a rispondere allegando il codice ho scritto, ma non riesco a pubblicare la mia risposta... Mi apre una pagina di errore cloudflare
    Mi piacerebbe riuscire a risolvere utilizzando anche il tuo primo suggerimento....
    In ogni caso ti ringrazio molto per le dritte

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2022
    Messaggi
    5
    Ho ricontrollato il codice, sono riuscita ad applicare correttamente anche il tuo primo suggerimento!!! Avevo dimenticato di chiudere una parentesi quadra nella checkbox. Grazie infinite!!!
    Come faccio a chiudere la discussione??

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.