Visualizzazione dei risultati da 1 a 7 su 7

Discussione: preservare valore post

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    preservare valore post

    ciao a tutti...
    ho un form di registrazione ke, qualora un campo nn fosse riempito o riempito nn rispettando condizioni (ad es.: email del tipo ciao@boh), io eseguo i controlli mediante uno switch case e, qualora ci fossero dei problemi, mi reindirizza alla pagina usando header("Location: users.php?action=register");

    il mio problema è questo: quando io faccio questo, perdo i risultati del post e non posso nemmeno visualizzare all'utente quello ke stava scritto prima, invece io vorrei preservare tutto il post x visualizzare tutti i campi da lui riempiti fino a quel momento.

    Oppure avete altre soluzioni?

    grazie e ciao

  2. #2
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    Re: preservare valore post

    Originariamente inviato da FinalFantasy
    ciao a tutti...
    ho un form di registrazione ke, qualora un campo nn fosse riempito o riempito nn rispettando condizioni (ad es.: email del tipo ciao@boh), io eseguo i controlli mediante uno switch case e, qualora ci fossero dei problemi, mi reindirizza alla pagina usando header("Location: users.php?action=register");

    il mio problema è questo: quando io faccio questo, perdo i risultati del post e non posso nemmeno visualizzare all'utente quello ke stava scritto prima, invece io vorrei preservare tutto il post x visualizzare tutti i campi da lui riempiti fino a quel momento.

    Oppure avete altre soluzioni?

    grazie e ciao
    devi aggiungere il value sotto forma di variabile es:
    <input type='text' name='nome' value='<?php echo($nome) ?>' />

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Sarebbe meglio che tu prendessi i vari valori in $_POST li registrassi in sessione e quindi nella pagina col form avessi
    codice:
    <?php
      session_start();
      ...
      ...
    ?>
    <form name="tuoform" action="tuaaction.php" method="post" onsubmit="eventuali_controlli_latoclient();">
      Nome: <input name="nome" value="<?php echo($_SESSION['nome']);?>" />
      Cognome: <input name="cognome" value="<?php echo($_SESSION['cognome']);?>" />
      ...
      ...
    </form>
    ricordati di iniziare anche nella pagina di controllo dati con session_start()
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    Originariamente inviato da Andrea1979
    Sarebbe meglio che tu prendessi i vari valori in $_POST li registrassi in sessione e quindi nella pagina col form avessi
    codice:
    <?php
      session_start();
      ...
      ...
    ?>
    <form name="tuoform" action="tuaaction.php" method="post" onsubmit="eventuali_controlli_latoclient();">
      Nome: <input name="nome" value="<?php echo($_SESSION['nome']);?>" />
      Cognome: <input name="cognome" value="<?php echo($_SESSION['cognome']);?>" />
      ...
      ...
    </form>
    ricordati di iniziare anche nella pagina di controllo dati con session_start()
    si...registrare il post in una sessione ci avevo pensato,

  5. #5
    perché la sessione?

    in casi come questo io la reputo totalmente inutile, magari sbagliando; ma se ho già i dati nel post a cosa dovrebbe servirmi un duplicato ( perché di duplicato si tratta ) in sessione? a meno che non debba portarmi quei valori in più pagine..


    per evitare di far questo io eviterei anche di fare il controllo del form in una seconda pagina. Io faccio il controllo nella stessa pagina del form e se ci sono errori faccio comparire il messaggio d'errore accanto al campo incriminato, così ho solo il POST senza scomodare le sessioni e il valore lo riempio come ha detto *pragma, ovviamente recuperando i dati di volta in volta dal post, applicando le varie funzioni di sicurezza, quindi in cima alla pagina ho:

    Codice PHP:
    if ($_POST)
    {
        foreach(
    $_POST as $k=>$v)
        {
            if (
    is_string($_POST[$k]))
            {
                $
    $k=htmlentities(trim(stripslashes(mysql_real_escape_string(strip_tags($_POST[$k])))));
            }
            elseif (
    is_array($_POST[$k]))
            {
                $
    $k=$_POST[$k];
            }
        }

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    perchè la sessione?
    davo per scontato che l'action del form fosse verso una pagina diversa.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  7. #7
    Originariamente inviato da Andrea1979
    davo per scontato che l'action del form fosse verso una pagina diversa.
    leggendo il thread la prima volta anche io lo davo per scontato, però mi sembrava meno dispendioso consigliare di far tutto nella stessa pagina piuttosto che salvare i dati in sessione per evitare doppioni. Non che la mia soluzione sia migliore, magari consigliavi la sessione per un determinato motivo che a me sfuggiva era solo per capire...
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

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.