+ Rispondi alla Discussione
Risultati da 1 a 7 di 7

problema prendere valore da checkbox

Ultimo Messaggio di Senamion il:
  1. #1
    User
    Data Registrazione
    Sep 2006
    Messaggi
    155

    problema prendere valore da checkbox

    ragazzi in questi due file non riesco a prendere in valore della checkbox, mi da questo errore:
    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\componente\creaprofilo.php on line 24


    Codice:
    <?php
    mysql_connect('localhost', 'root' , '') or die('Non riesco a connettermi a MySQL');
    mysql_select_db('componente') or die('Non riesco a connettermi al Database');
    ?>
    <html>
    <head>
    </head>
    <body>
    <h1>CREA IL TUO PROFILO </h1>
    <form action="creaprofilo.php" method="post" >
    <?php
    
    
    ///$query ="Select * from categoria where idpadre='2'";
    $query="select * from categoria where idpadre='0' order by idcategoria";
    $result = mysql_query($query);
    while($fetch=mysql_fetch_array($result)) {
        $query="select * from categoria where idpadre='".$fetch['idcategoria']."' order by idcategoria";
        $risultato=mysql_query($query);
        
        
        echo "<b>".$fetch['nome']."</b><br>";
        
        while($array=mysql_fetch_array($risultato)) {
        
            //echo $array['nome']."<br>";
            echo $array['nome'];
            echo '
            
            <input type="checkbox" name="checkbox" value="'.$array['id'].'" /><br />';
            
        }
    
    }
    
     ?>
    <input name="" type="submit">
    </form>
    Codice:
    <?php
    //Includo i file per la connessione
    //e per la verifica Utente
    require_once('connessione.php');
    require_once('verificalogin.php');
    
    if(isset($_SESSION['utente'])){
        
        
    
    
    $user=$_SESSION['utente'][0];
    //echo $user;
    
         
         $query1 = "SELECT * FROM utente WHERE username = '$user'"; 
         $result1 = mysql_query($query1) or die("Errore nella query1:".mysql_error()); 
         $row = mysql_fetch_assoc($result1); 
         $idutente = $row['idutente'];
    
        
        $menu= $_POST['checkbox'];
        
    foreach ($menu as $value) {
    echo "<b>$value</b> <br>";
    
        $dataEora = date("Y-m-d H:i:s");
    
    
            $strSQL = "INSERT INTO seleziona(idcategoria,idutente,dataora)";
               $strSQL .= "VALUES('$value','$idutente','$dataEora')";
            
               mysql_query($strSQL)OR die("Errore nella query:".mysql_error());
                                        }             
    
    echo "<br>PROFILO COMPILATO CON SUCCESSO!!!";
    
    
    
    
    
    
    }
    ?>

  2. #2
    User
    Data Registrazione
    Sep 2006
    Messaggi
    377
    Se hai dei checkbox devi chiamarli tutti diversi (normalmente si mette un prefisso tipo chk e un id, quindi saranno chk001 chk002).
    Poi quando li leggi devi controllare
    if (isset($_GET['chk001']))
    echo "SELEZIONATO";
    else
    echo "NON SELEZIONATO";

  3. #3
    User
    Data Registrazione
    Sep 2006
    Messaggi
    155
    dove devo chiamarli diversi?

  4. #4
    User
    Data Registrazione
    Sep 2006
    Messaggi
    155
    non ho capito come fare mi puoi fare un esempio

  5. #5
    User
    Data Registrazione
    Sep 2006
    Messaggi
    377
    In questa riga:

    <input type="checkbox" name="checkbox" value="'.$array['id'].'" /><br />';

    Tu li chiami sempre checkbox. Invece devi chiamarlo ognuno con un valore diverso (non il value ma il name), ad esempio:

    <input type="checkbox" name="checkbox'.$array['id'].'" /><br />';

    A questo punto nella seconda pagina devi verificare se isset() di quel nome.

  6. #6
    User
    Data Registrazione
    Sep 2006
    Messaggi
    155
    ciao senamion, se io ho:

    echo '<input name='.$array['titolo'].' type="checkbox" value="'.$array['titolo'].'" />';

    nell'altra pagina metto? corretto?:
    Codice PHP:
    $prova $_POST[$array['titolo']]; 
        
    $casella $prova 'selezionata' 'non selezionata'
        
        if(
    $casella=="selezionata"){
        echo 
    "$prova";
        }
        else{
        echo 
    "errore";
        } 

  7. #7
    User
    Data Registrazione
    Sep 2006
    Messaggi
    377
    Se $array alimentato allo stesso modo corretto quello che hai scritto, anzi, correggi questa riga cos:

    $casella = isset($prova) ? 'selezionata' : 'non selezionata';

+ Rispondi alla Discussione

Tag per Questa Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] Attivato
  • Il codice [VIDEO] Attivato
  • Il codice HTML Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.