Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: form non passa valori

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16

    form non passa valori

    Salve a tutti
    spero possiate darmi un aiuto
    ho un form di cui allego il listato

    codice:
          <form name="vista" method="POST" action="view_record.php">     
    <INPUT TYPE="HIDDEN" NAME="annos" VALUE="<? echo $annos ?>">     
    <INPUT TYPE="HIDDEN" NAME="classe" VALUE="<? echo $classe ?>">     
    <INPUT TYPE="HIDDEN" NAME="nome" VALUE="<? echo $nome ?>">     
    <INPUT TYPE="HIDDEN" NAME="cognome" VALUE="<? echo $cognome ?>">     
    <INPUT TYPE="HIDDEN" NAME="uteid" VALUE="<? echo $uteid ?>">     
    <INPUT TYPE="HIDDEN" NAME="ngiud_agg" VALUE="<? echo $ngiud_agg ?>"> 
    <table border="0" align="center" bgcolor="#ff66FF">           
    <tr>        
    <td>          
    <input name="vista" type="submit" id="invia32" value="guarda record">       
    </td>      
    </tr>    
    </table>        
    </form>
    nel file view_record.php ho inserito

    codice:
       $classe = $_POST['classe'];    
    $annos = $_POST['annos'];    
    $nome = $_POST['nome'];    
    $cognome = $_POST['cognome'];    
    $uteid = $_POST['uteid'];    
    $ngiud_agg = $_POST['ngiud_agg'];  
    echo "$classe , $annos ,  $nome ,  $cognome
    ";
    purtroppo non viene passato nulla. Perché?

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    sicuro che negli attributi value dei tag <input> venga stampato qualcosa? Controlla l'html del form che viene fuori :P
    Se non dipende da questo, potresti avere una versione di PHP così datata che non usa l'array $_POST, bensì $HTTP_POST_VAR.
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

  3. #3
    hai provato a fare il var_dump di $_POST per vedere cosa ti ritorna ?
    cmq hai due cose da provare : 1 , invece di popolare il value degli input con un variabile prova a buttarci dentro del testo scritto da te , se così il testo passa vuol dire che il problema sta qui:

    edit: mi sono dimenticato di scrivere la seconda cosa da fare.. solo che ora non me la ricordo più

    Codice PHP:
    <? echo $cognome ?>

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    subito dopo il form ho inserito
    codice:
    echo "$classe , $uteid, $annos,  $nome, $ngiud_agg,   $cognome
    ";
    per verificare i valori da passare e li stampa correttamente

    per la versione di php sto usando EasyPHP 3.0 e quindi credo che sia almeno la versione 5.2

  5. #5
    Originariamente inviato da fabigno
    subito dopo il form ho inserito
    codice:
    echo "$classe , $uteid, $annos,  $nome, $ngiud_agg,   $cognome
    ";
    per verificare i valori da passare e li stampa correttamente

    per la versione di php sto usando EasyPHP 3.0 e quindi credo che sia almeno la versione 5.2

    se vengono stampata correttamente dov'è il problema ?
    cmq fare il var_dump non è lo stesso di fare un echo , altrimenti non te l'avrei detto

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    La prova con echo" ....variabili ...." l'ho fatta subito dopo il form ed ora ho anche aggiunto la prova con var_dump. In tutti e due i casi ci sono i valori previsti.
    Il problema sta nel fatto che questi valori non vengono passati al file chiamato dal form
    ricapitolando
    sembra che il form vada bene
    la versione php è ok
    ... ma non vengono passati i valori

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    Da alcune altre prove effettuate risulta che se il form invia dati che gli dò al volo, funziona

    codice:
    <FORM METHOD="POST" ACTION="autorizza_reg_prof_b.php">
     <INPUT TYPE="TEXT" NAME="profid" SIZE="8">          
    <input type="PASSWORD" name="profpw" size="15">
    <INPUT TYPE="SUBMIT" VALUE="Invia"> 		
    </FORM>
    non passa dati se invece sono di tipo hidden

    codice:
    <form name="vista" method="post" action="form_riceve1.php">      
    <input type="hidden" name="anno" id="anno" value="<?  echo $anno; ?>" />      
    <input type="hidden" name="class" id="class" value="<?  echo $class; ?>" />      
    <input type="hidden" name="nom" id="nom" value="<?  echo $nom; ?>" />      
    <input type="submit" id="invia" value="guarda record" />        
    </form>
    qualcuno ha un'idea del perché.
    dove posso andare a vedere (file.ini o altro) per tentare di risolvere il problema.

    Ho constatato che non accetta più neanche

    codice:
    <FORM METHOD="POST" ACTION="<? echo $_SERVER['PHP_SELF'] ?>">
    cioè si ferma

    :master:

  8. #8
    ma scusa, è quello che ti ho già detto prima .. il problema non è di certo che passi i dati con input di tipo hidden , ma che le tue varibili: value="<? echo $anno; ?>" evidentemente non sono valorizzate ..

    questo è ciò che ti avevo detto nel mio primo post ... evidentemente non l'hai letto tutto il messaggio.

    hai provato a fare il var_dump di $_POST per vedere cosa ti ritorna ?
    cmq hai due cose da provare : 1 , invece di popolare il value degli input con un variabile prova a buttarci dentro del testo scritto da te , se così il testo passa vuol dire che il problema sta qui:

    edit: mi sono dimenticato di scrivere la seconda cosa da fare.. solo che ora non me la ricordo più

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    una volta individuato il problema cosa si può fare?

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    16
    scusa, ho dimenticato di aggiungere che ho fatto questa prova
    codice:
    <?php 
    $class='calasse1'; 
    $anno='2009-2010'; 
    $nom='fabio';  
    echo $class." , ".$anno." , ".$nom." 
    ";    ?> 
    <form name="vista" method="post" action="form_riceve1.php">      
    <input type="hidden" name="anno" id="anno" value="<?   echo $anno; ?>" />      
    <input type="hidden" name="class" id="class" value="<?   echo $class; ?>" />      
    <input type="hidden" name="nom" id="nom" value="<?   echo $nom; ?>" />      
    <input type="submit" id="invia" value="guarda record" />        
    </form>  
    <?php      
    var_dump($class); 
    var_dump($nom); 
    var_dump($anno);  ?>
    Quando lo eseguo ottengo

    calasse1 , 2009-2010 , fabio
    -PULSANTE-
    string(8) "calasse1" string(5) "fabio" string(9) "2009-2010"

    Se invio, ottengo solo le due virgole
    , ,

    Poi ho inserito dopo
    var_dump($anno);

    print_r($_POST);

    Ed ho ottenuto
    string(9) "2009-2010" Array ( )

    Cioè un array vuoto!

    Non so proprio come proseguire

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.