Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Problema su un Insert con array

    Il codice è quello qui sotto. I POST provengono da un form. Quelli che ho controllato (con if(isset(ecc.))) sono i campi di input che l'utente può modificare, gli altri sono fissi; tutte le variabili comunque sono di tipo array.
    Il fatto è che all'esecuzione di questo codice mi dà errore come se i campi fossero vuoti, quando invece vengono inseriti dei dati nelle caselle di Input. Infatti mi appaiono gli errori "Il campo xxx deve essere riempito" e questo accade per tutte le variabili controllate.
    Avete idea di quale possa essere l'errore?

    Codice PHP:
                        <?php
                            
    include("../config.php");

          
    $cognome=$_POST['cognome'];
          
    $nome=$_POST['nome'];
          
    $id=$_POST['id'];
          
    $contatore=$_POST['contatore'];
          
          
    $verifica=0;

          if(isset(
    $POST['data'])){
            
    $data=$_POST['data'];
          }
          else{
            echo 
    "Il campo data deve essere riempito!
    "
    ;
            
    $verifica=1;
          }

          if(isset(
    $POST['voto'])){
            
    $voto=$_POST['voto'];
          }
          else{
            echo 
    "Il campo voto deve essere riempito!
    "
    ;
            
    $verifica=1;
          }

          if(isset(
    $POST['tipo'])){
            
    $voto=$_POST['tipo'];
          }
          else{
            echo 
    "Il campo tipologia deve essere riempito!
    "
    ;
            
    $verifica=1;
          }

    if(
    $verifica=0){    //Verifica ok!
            
    $num 0// Inizializzo una variabile per il conteggio delle righe che saranno aggiornate
            
    $q "INSERT INTO Valutazioni (valutazione_alunno_cognome, Valutazione_alunno_nome, Valutazione_voto, Valutazione_tipologia, Valutazione_data_voto) VALUES ('";

    for(
    $i 0$i $contatore$i++)
        {
          
    $q=$q+$cognome[$i]+"','"+$nome[$i]+"','"+$voto[$i]+"','"+$tipo[$i]+"','"+$data[$i]+"')";

            
    $query=mysql_query($q) or die(mysql_error());
            
    $num+= mysql_affected_rows(); // La incremento via via
        
    }


        if(
    $num>0)
            echo 
    "

    Sono stati inseriti 
    $num record</p>";
        else
            echo 
    "

    Errore nella modifica</p>"
    ;
    }

                            
    mysql_close($db);
                        
    ?>

  2. #2
    Stampa l'array $_POST ad inizio pagina e verifica cosa contiene.

    codice:
    <?php
    
    echo "<pre>";
    print_r($_POST);
    echo "</pre>";
    
                include("../config.php");

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Contiene esattamente quello che dovrebbe contenere
    Metto qui un esempio.

    Array
    (
    [id] => Array
    (
    [0] => 28
    [1] => 5
    [2] => 1
    [3] => 2
    )

    [contatore] => Array
    (
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    )

    [cognome] => Array
    (
    [0] => Arganauto
    [1] => Bendinelli
    [2] => Piacentini
    [3] => Casisi
    )

    [nome] => Array
    (
    [0] => Alex
    [1] => Denise
    [2] => Giulia
    [3] => Salvatore Giovanni
    )

    [data] => Array
    (
    [0] => 2006-19-09
    [1] => 2006-19-09
    [2] => 2006-19-09
    [3] => 2006-19-09
    )

    [voto] => Array
    (
    [0] => 6.0
    [1] => 7
    [2] => 9.0
    [3] => 5
    )

    [tipo] => Array
    (
    [0] => scritto
    [1] => orale
    [2] => scritto
    [3] => orale
    )

    )

  4. #4
    l'approccio che fai e' errato. Si tratta di un array multidimensionale.

    Devi scorrere l'array in modo da estrarre i vari valori. Non e' difficile, ma praticamente impossibile da spiegare in modo semplice.... usando questo sistema (array multi) i valori e' meglio se li controlli direttamente sul form con jscript

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    fai una prova...sostituisci isset con $_POST['Campo'] != '' e fammi sapere cosa ti dice!
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  6. #6
    Originariamente inviato da piero.mac
    l'approccio che fai e' errato. Si tratta di un array multidimensionale.

    Devi scorrere l'array in modo da estrarre i vari valori. Non e' difficile, ma praticamente impossibile da spiegare in modo semplice.... usando questo sistema (array multi) i valori e' meglio se li controlli direttamente sul form con jscript

    www.dynamicdrive.com

    qui ne trovi a bizzeffe..
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Il negozio chiude, quindi devo riprendere in mano il codice domani.
    La vedo dura, gli array bidimensionali sono tosti da gestire. Ma vedo cosa riesco a fare con i vostri consigli...

    Eventualmente (probabile) mi sentirete di nuovo

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.