Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Tornare alla pagina precedente per non ricompilare tutto il form...come?

    E' da un po' che cerco di risolvere questo problema, ma non ci riesco...
    Io ho una pagina per la registrazione degli utenti che ovviamente ha al suo interno un form. Quando si preme il tasto invia vengono passati i dati ad uno script php che controlla la loro correttezza prima di registrarli nel db.
    Il problema è che se ci sono dei dati sbagliati io attualmente ricarico la pagina di registrazione mediante il comando header-location, ma in questo modo l'utente deve ricompilare tutti i campi. Vorrei tornare indietro di una pagina invece di ricaricarla (come premendo il tasto back del browser) in modo che l'unico campo che viene azzerato è quello della password.
    Come si fa?
    Grazie.

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Non fare il redirect ma trattieni nell'attributo value="" di ogni campo il valore inserito (se valido).

    In questo modo avrai "bianchi" solo i campi errati o non compilati a cui magari associare un messaggio di errore.

    Ciao.
    deleted_id_48586
    Sgurbat
    y.redaelli@gmail.com

  3. #3
    Se ho capito bene devo, mediante codice php all'interno del form, settare il value di ogni campo che voglio mantenere compilato, giusto? Effettivamente l'array $_POST dovrebbe ancora contenere tutti i valori.
    Ora provo, grazie.

  4. #4
    Pare che l'array $_POST non sopravviva per 2 pagine. Evidentemente uscendo dalla pagina richiamata dal form (quella dove faccio il controllo dei dati) l'array di POST viene resettato. A questo punto mi sa che devo passargli i valori da salvare mediante GET. O c'è un altro modo?

  5. #5
    nel tuo tasto back devi ripostare i valori ricevuti o metti tutto in variabili di sessione che ti seguono ovunque

  6. #6
    E' possibile ripostare tutto mediante POST? Io attualmente rimando tutti i dati mediante l'url e poi li recupero con GET, però mi viene un url bello lungo e non mi piace molto.

  7. #7
    un form con method="post" tutti i campi type="hidden" e un pulsante per il back che riposta i dati alla pagina precedente potrebe essere una soluzione ?

  8. #8
    se i dati non sono troppo privati, consiglio un banale $_SESSION (se il server è tuo, consiglio $_SESSION a prescindere), se i dati sono sensibili, un cookie può essere una buona strada
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  9. #9
    Non ho ancora imparato ad usare le sessioni, quindi preferisco usare altri metodi. Quello proposto da SK può funzionare anche se mi sembra un po' macchinoso e ingombrante (come codice).
    Comunque grazie.
    Ciao.

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.