Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di rugg88
    Registrato dal
    Jan 2012
    Messaggi
    106

    Conservare i dati nel form

    Salve a tutti,
    ho creato una form e ho fatto in modo che i dati inseriti vengano utilizzati nella stessa pagina dal codice PHP mediante il method POST. Quando premo il tasto submit tutto il codice viene eseguito alla perfezione. Tuttavia vorrei fare in modo che i valori inseriti nella form restino visibili nella stessa infatti nel mio caso gli elementi "text" vengono svuotati del loro contenuto. Come posso fare?
    Grazie per ogni aiuto
    RL

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Alla parte dello script che riceve i dati della form fai mettere in sessione i dati ricevuti che potri quindi usare nella form.

    Esempio:
    Codice PHP:
    <?php
    session_start
    ();

    if(isset(
    $_POST))
    {
        
    $_SESSION['nome'] = $_POST['nome'];
        
    $_SESSION['cognome'] = $_POST['cognome'];

        
    //fai le cose che devi fare coi dati ricevuti
    }
    ?>
    <form name='dati' method='post' action='<?php echo $_SERVER['PHP_SELF'?>' >
        <input type='text' name='nome' value='<?php echo (isset($_SESSION['nome'])) ? $_SESSION['nome'] : '' ?>' />
        <input type='text' name='cognome' value='<?php echo (isset($_SESSION['cognome'])) ? $_SESSION['cognome'] : '' ?>' />
        <input type='submit' name='submit' />
    </form>

  3. #3
    Utente di HTML.it L'avatar di rugg88
    Registrato dal
    Jan 2012
    Messaggi
    106
    Ciao,
    grazie per aver risposto. Sinceramente non ho capito bene cosa hai inserito nella form. Potresti spiegarmi la sintassi?

    RL

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Codice PHP:
    echo (isset($_SESSION['nome'])) ? $_SESSION['nome'] : '';

    //equivale a
    if(isset($_SESSION['nome'])) //se è settata vuol dire che la form è stata compilata 
    {
        echo 
    $_SESSION['nome']; //stampo il testo inserito
    }
    else 
    //è la prima volta che arrivo sulla pagina
    {
        echo 
    ''//lascio il campo vuoto

    Ad ogni modo, visto che non distruggi la variabile $_POST con unset() ed hai tutto nella stessa pagina, puoi fare a meno della sessione, basta che metti $_POST al posto di $_SESSION, rimuovi le assegnazioni di $_SESSION e rimuovi session_start().

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.