Visualizzazione risultati 1 fino 5 di 5

Discussione: ripristino dei valori in un form

  1. #1
    Guest

    Predefinito ripristino dei valori in un form

    Stavo cercando su internet un metodo per ripristinare i valori immessi nel form dopo aver caricato un altra pagina.
    Infatti dover riscrivere tutto ogni volta che salta fuori un errore non è il massimo della comodità, e il tasto back di IE non mi è d'aiuto perchè il redirect al form è automatico.
    L'unica soluzione che mi è venuta in mente è passare tutti i valori indietro tramite $_GET ma mi sembra un operazione un po troppo laboriosa.
    Spero esista un sistema alternativo e che qualcuno quì del forum sappia darmi una dritta...
    grazie in anticipo.

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Se per "errore" intendi una pagina che scrivi tu ad indicare che, per qualche motivo, l'input è sbagliato, potresti modificare così il sistema:
    - nella pagina di errore metti gli stessi campi del modulo da cui provieni, ma impostandoli tutti di tipo "hidden": in questo modo saranno invisibili al visitatore. Poi, per poterli propagare, inseriscili in un form con destinazione la pagina di provenienza e fa' in modo che vengano automaticamente re-inviati così:
    Codice PHP:
    <FORM ACTION="provenienza.php" onLoad="submit()">
    <!-- qui tutti i campi da ricaricare -->
    <INPUT TYPE="hidden" NAME="campo1" VALUE="<?php echo ($_POST['campo1']); ?>">
    ...
    </FORM>
    - per quanto riguarda la pagina di provenienza, dovrai fare una leggera modifica: salvarla per prima cosa con estensione .php (se non l'hai già fatto) e caricare gli eventuali valori che hai salvato dalla pagina precedente, così:
    Codice PHP:
    <FORM ACTION="destinazione.php">
    <!-- qui tutti i campi del modulo -->
    <INPUT TYPE="text" NAME="campo1" VALUE="<?php echo ($_POST['campo1']); ?>">
    ...
    </FORM>
    la cosa dovrebbe funzionare anche se è la prima volta che carichi la pagina "provenienza.php", se non trova i campi del post, semplicemente viene inserita la stringa vuota.

    Se invece è proprio a PHP che non gira qualcosa, prova comunque questo sistema, ma non posso garantirti che funzioni...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    il sistema è buono, se solo mi funzionasse onLoad="submit()".
    Carica la pagina php dove ci sono i controlli e i campi nascosti ma nn ridirige alla pagina con il form visibile....
    Forse sbaglio qualcosa nel codice... onLoad="submit()" ho visto che non compare tra i comandi HTML per la gestione dei form in Dreamweaver forse si tratta Javascript? come si implementa? a questo punto il submit automatico è indispensabile....se no l'unica è $_GET
    Ultima modifica di SideExtreme : 04-04-2006 alle ore 16.32.49

  4. #4
    Guest

    Predefinito

    Ho risolto cercando un po in giro!
    Posto il codice nel caso potesse servire a qualcun'altro:

    Pag 1 - form_reg.php

    Codice PHP:
    <?php
    @campo1 = $_POST['campo1'];
    @
    campo2 = $_POST['campo2'];
    @
    campo3 = $_POST['campo3'];
    ?>
    <body>
    <form name="form_reg" action="controllo.php" method="post">
    <input type="text" name="campo1" values="<? echo($campo1); ?>">
    <input type="text" name="campo2" values="<? echo($campo2); ?>">
    <input type="text" name="campo3" values="<? echo($campo3); ?>">
    <input type="submit" name="invio" values="invio">
    </form>
    </body>
    Pag 2 - controllo.php
    controllo i valori inseriti nei campi e ridirigo alla pag form_reg se ci sono errori:

    Codice PHP:
    <body onLoad="hide.submit();">
    <form name="hide" action="form_reg.php" method="post">
    <input type="hidden" name="campo1" value="<? echo($campo1);?>">
    <input type="hidden" name="campo2" value="<? echo($campo2);?>">
    <input type="hidden" name="campo3" value="<? echo($campo3);?>">
    </form>
    </body>
    Ultima modifica di SideExtreme : 04-04-2006 alle ore 18.13.28

  5. #5
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •