8791 sujets

Développement web côté serveur, CMS

Bonjour,

Je fais un formulaire et j'ai besoin que la valeur des champs saisies restent, même quand le formulaire n'est pas envoyé.
Par exemple quelqu'un est entrain de remplir le formulaire et avant d'envoyer il change de page, lorsqu'il fait retour faudrait que ce qu'il ait tapé reste.

Comment faire ?

Merci

edit : Ca serait encore mieux si les champs restent en retournant sur la page en la rechargeant et non pas en faisant retour. Un peu comme des $_SESSION
Modifié par KelT55 (27 Jul 2010 - 11:25)
Salut,

C'est moins un problème de HTML que de langage de programmation côté serveur. Le principe peut être illustré comme suit :
<?php
// On récupère la valeur du champ
$champ = (isset ($_POST['champ']))? $_POST['champ']: null;
?>
<!-- Formulaire -->
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  <p>
    <label for="champ">Le champ</label>
    <input id="champ" name="champ" type="text" value="<?php echo htmlspecialchars ($champ); ?>" />
    <!-- Attribut value vide si le champ n'est pas rempli, sinon rempli avec la valeur saisie -->
    <input type="submit" value="Envoi" />
  </p>
</form>
Bonjour,

La solution de Victor est valable lorsque le formulaire est soumis.
<edit>En même temps, le sujet devrait se trouver dans une autre thématique que Serveur Smiley smile .</edit>

KelT55 a écrit :
Je fais un formulaire et j'ai besoin que la valeur des champs saisies restent, même quand le formulaire n'est pas envoyé.
Par exemple quelqu'un est entrain de remplir le formulaire et avant d'envoyer il change de page, lorsqu'il fait retour faudrait que ce qu'il ait tapé reste.

Comment faire ?


Le fait que tu veuilles conserver ces valeurs sans forcément soumission du formulaire implique d'avoir recours à des scripts JavaScript qui se chargeront de cette tâche (via Cookies pour stockage client ; via AJAX pour stockage serveur).

Bonne continuation.
Romain
Modifié par yodaswii (27 Jul 2010 - 12:11)
Re-salut

Victor ton code permet de garder les valeurs avec soumission du formulaire comme l'a dit yodaswii, j'ai d'ailleurs ce code pour l'instant plus simple pour faire ceci :


<input type="text" name="bonjour" value="<?php echo htmlspecialchars($_POST['bonjour']); ?>" />


Je me doutais qu'il fallait du JS =( je n'y connais rien, tu pourrais me faire un bout de code pour permettre de garder les champs saisies sans soumission du formulaire ?

Merci à vous deux !