Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39

    Form POST non passa tutti i valori

    Ho un problema da arroventarsi il cervello. Una di quelle rogne che non vorresti mai avere nella vita.

    Ho un bellissimo form in una pagina sul quale eseguo controlli formali.
    Al superamento dei controlli, apro un nuovo form (stessa pagina) con l'evidenza di tutti i precedenti campi testati, non modificabili e quindi pronti per l'inserimento sul DB.

    Beh, tenetevi forte!

    Un campo mi passa (il primo... o megli oil quarto visto che tre campi li passo poco prima) mentre tutti gli altri sono vuoti!!!

    Ho verificato nella nuova pagina sia con il dump di $_POST (sono tutti a lunghezza 0 quelli vuoti, quindi effettivamente vuoti) e sia con il comando echo.

    Ho anche cercato qua sul forum, qualcuno suggeriva di utilizzare <?php in luogo dell'abbreviato <? ma non mi cambia nulla, in entrambi i casi le variabili non passano (ripeto le prime però passano).

    Il giro è il seguente:

    Pagina A che raccoglie i dati nel form e che richiama se stessa in post fino a quando non si superano tutti i controlli.
    Al superamento dei controlli, un test nella pagina apre un form differente con stessi dati (visibilissimi con echo) e aspetta la conferma per la memorizzazione.
    Pagina B che, richiamata da pagina A sempre in POST, procede all'inserimento sul DB.

    Alla pagina B arriva solo il valore di un campo mentre tutti gli altri sono vuoti ma verificando sui dati di partenza (in pratica io li mostro a video prima di chiamare pagina B) sono tutti correttamente valorizzati.

    Scusate se lo ripeto ma non riesco ancora a crederci.
    Ovviamente so che sbaglio da qualche parte... ma credo che si tratti di un problema SUBDOLO e difficile da individuare.

    Aiuto!

  2. #2
    posta il codice,potrei provare a capire il problema...

  3. #3
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    IL chiamante:

    Codice PHP:
        } elseif ($figb_cam_ins_prima != "S" && $flag_cam_controlli_ok == "S") {      
    /* FORM CON INPUT DISABILITATI - SOLO SE SI PUO' PROCEDERE ALL'INSERIMENTO */     ?>         
    <table align="center" border="0">             
    <form name="cam_conferma" action="cam_inserisci_db.php" method="POST">                 
    <? require("includes/hidden_fields.php"); ?>                 
    <tr>                     
    <td>                         
    [b]Descrizione Campionato[/b]                     
    </td>                     
    <td>                         
    <? echo "$cam_descrizione"?>                         
    <input type="hidden" name="cam_descrizione" value="<?php echo "$cam_descrizione"?>">                     </td>                 
    </tr>                 <tr>                     
    <td>                         [b]Scadenza Iscrizioni[/b]                     </td>                     
    <td>                         <? echo "$cam_gg_scadenza"?>                         
    <input type="hidden" name="cam_gg_scadenza" value "<?php echo "$cam_gg_scadenza"?>">                         /                         
    <? echo "$cam_mm_scadenza"?>                         
    <input type="hidden" name="cam_mm_scadenza" value "<?php echo "$cam_gg_scadenza"?>">                         /                         
    <? echo "$cam_ssaa_scadenza"?>                         
    <input type="hidden" name="cam_ssaa_scadenza" value "<?php echo "$cam_gg_scadenza"?>">                         - Alle Ore:                         
    <? echo "$cam_hh_scadenza"?>                         
    <input type="hidden" name="cam_hh_scadenza" value "<?php echo "$cam_hh_scadenza"?>">                         :                         
    <? echo "$cam_min_scadenza"?>                         
    <input type="hidden" name="cam_min_scadenza" value "<?php echo "$cam_min_scadenza"?>">                     
    </td>                 
    </tr>                 
    <tr>                                 
    <td>                         
    [b]Blocco Iscrizioni[/b]                     
    </td>                     
    <td>                         
    <? echo "$cam_blocco_iscrizioni"?>                         
    <? echo "<input type=\"hidden\" name=\"cam_blocco_iscrizioni\" value \"$cam_blocco_iscrizioni\">"?>                     
    </td>                 
    </tr>

    Il chiamato:

    Codice PHP:
        var_dump($_POST); 
    Esito del dump:
    array(22) { ["figb_user"]=> string(5) "admin" ["figb_id"]=> string(2) "62" ["figb_name"]=> string(13) "Administrator" ["cam_descrizione"]=> string(5) "cacca" ["cam_gg_scadenza"]=> string(0) "" ["cam_mm_scadenza"]=> string(0) "" ["cam_ssaa_scadenza"]=> string(0) "" ["cam_hh_scadenza"]=> string(0) "" ["cam_min_scadenza"]=> string(0) "" ["cam_blocco_iscrizioni"]=> string(0) ""...
    In pratica mi passa solo i tre campi (user,nome e id) che sono nella require + la descrizione, tutto il resto va a farsi benedire.

  4. #4
    perdonami, domanda banalissima, ma ovviamente in un'altra parte del codice te assegni a $cam_descrizione (presa ad esempio) il valore di $_POST['cam_descrizione'] giusto? hai ricontrollato anche quella parte per sicurezza?

  5. #5
    Utente di HTML.it L'avatar di Bobbix
    Registrato dal
    Nov 2009
    Messaggi
    39
    Originariamente inviato da goikiu
    perdonami, domanda banalissima, ma ovviamente in un'altra parte del codice te assegni a $cam_descrizione (presa ad esempio) il valore di $_POST['cam_descrizione'] giusto? hai ricontrollato anche quella parte per sicurezza?
    Grazie per il tuo aiuto ma ho risolto... se guardi bene mancano i segni di = in corrispondenza delle value (a cam_descrizione invece non manca), il problema era quello (banale ma la stanchezza non sempre ti fa essere lucido).

    Ma mi chiedo.. non dovrebbe dare errore di sintassi? Se value prevede il segno uguale... come mai ne il browser ne il server mi dicono nulla?

  6. #6
    Originariamente inviato da Bobbix
    Grazie per il tuo aiuto ma ho risolto... se guardi bene mancano i segni di = in corrispondenza delle value (a cam_descrizione invece non manca), il problema era quello (banale ma la stanchezza non sempre ti fa essere lucido).

    Ma mi chiedo.. non dovrebbe dare errore di sintassi? Se value prevede il segno uguale... come mai ne il browser ne il server mi dicono nulla?
    Html non credo dia errore di sintassi per quello, value era di html, tu stampavi la tua var correttamente... era solo l'uguale di html che mancava.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.