Visualizzazione dei risultati da 1 a 9 su 9

Discussione: permanenza dati form

  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    permanenza dati form

    ciao a tutti

    so che mi risponderete che dovrei usare javascript ,ma vorrei capire come si può ottenere il tutto in PHP

    ho un semplice form di registrazione ,invio i dati alla pagina di registrazione e rimando da quest'ultima gli eventuali errori o l'eventuale "avvenuta registrazione"

    funziona tutto perfettamente

    il punto critico è...quando l'utente riceve gli errori nella pagina di form i dati preinseriti nel form(esempio:username,cognome,password etc....) spariscono

    io vorrei fare in modo che una volta ricaricata la pagina di form con gli eventuali errori ,i dati preinseriti ,anche se sbagliati,permanessero nel form

    avevo pensato di inserire ogni dato inserito dall'utente ,nella sessione, ma poi mi sono accorto che avrei dovuto inserire un value="" per ogni input text ....contenente il dato che è stato precedentemente salvato nella sessione...

    cosa mi consigliate,spero non sia troppo contorto il discorso

    grazie

  2. #2
    Potresti, secondo me, creare una pagina di controllo (che chiameremo ceck.php) dopo il form utenti (che chiameremo form.php .)
    Se i dati non sono corretti, da ceck.php rinvii i dati in automatico a form.php direttamente da un secondo form, formato da campi hidden aventi come value i valori ricevuti da form.php.
    Nella pagina form.php recuperi i valori e li assegni alle value dei campi.
    Chiaramente devi fare delle condizioni prima:
    Codice PHP:
    if($_POST['nome']){
    $nome=$_POST['nome'];
    }else{
    $nome="";

    così se l'utente entra direttamente non incorri in errore e il valore sarà vuoto.
    Contorto ma fattibile.
    Puoi passare anche un messaggio
    <input type="hidden" name="messaggio" value="Dati errati" />
    e farlo per ogni campo. Anche qui con una serie di condizioni puoi creare più messaggi o uno solo che in base all'errore aggiunge il testo ad una "lista" di errori.
    Dalla pagina form.php poi richiami il messaggio e lo visualizzi in rosso all'inizio.
    Poi sii creativo e vedi che qualcosa ti viene in mente...
    Ce l'ho fatta! - ItalianPixel -

  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao ciò che mi hai descritto lo faccio già

    conta che ho una pagina form.php (contenente il form)e una login.php(controlli sui dati $_POST)

    login.php controlla e a seconda che ci sia un errore o che la registrazione sia avvenuta ,questa rimanda in $_GET ,gli eventuali errori o l'eventuale messaggio di registrazione avvenuta a form.php

    tu ,da quello che capisco(poco ma non per colpa tua ) mi stai dicendo di passare indietro alla form.php da login.php,oltre gli eventuali errori anche i dati precedentemente arrivati ,sempre a login.php tramite la form di form.php??giusto?

    dopo di chè dovrei assegnare un value="$_GET['username sbagliato']"....etc etc?
    ??

    se cosi fosse poi i campi input al secondo tentativo di registrazione,non sarebbero modificabili,dato il value che ne assegna un valore assoluto?? no?

    aiutooo

  4. #4
    Il value inserisce un testo dentro al campo ma è totalmente editabile, a meno che tu non voglia disabilitarlo esplicitamente.
    Comunque se puoi usa il post.
    Per inviare un form in automatico ti consiglio vivamente una funzione javascript che, quando viene richiamata, invia il form. Un submit a comando.
    Poi recuperi i valori da form.php.
    Mi raccomando di aggiungere le condizioni! Altrimenti se l'utente si dimentica un dato ti va tutto in errore!
    Ce l'ho fatta! - ItalianPixel -

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    uhm farò delle prove,javascript non lo uso molto per le form non conoscendolo bene non mi fido affato

    comunque proverò perchè se mi confermi che ,se ho un value="$_GET['pippo']"

    può essere modificato e una volta ripassato in $_POST[] la variabile sia quella modificata dall'utente e non sempre lo stesso $_GET['pippo'] ,allora ho risolto

    grazie mille proverò e riproverò

  6. #6
    Basta che crei una funzione in javascript
    <script type="text/javascript" >
    function invia(){
    document.forms["nomedelform"].submit();
    }
    </script>
    e sei a posto
    Ce l'ho fatta! - ItalianPixel -

  7. #7
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    no problem allora ho risolto proprio passando nuovamente i dati errati indietro alla form e assegnando agli input i valori $_GET

    ottimo direi ,perfetto!! grazie mille !!

  8. #8
    Laborioso ma l'importante è che funzioni.
    A buon rendere!
    Ce l'ho fatta! - ItalianPixel -

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    diciamo che è più semplice a farsi che a spiegarsi

    grazie dei suggerimenti ovviamente a buon rendere

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.