Aller au contenu

Sujets conseillés

Posté

Bonjour,

Je bloque au sujet d'un formulaire un peu différent.

Lors de la validation de mon formulaire par clic en methode "POST", est appelé une page intersticielle (transparente pour l'internaute car assez rapide pour que l'internaute ne la voit pas) suivie immédiatement d'une redirection vers la page finale traitant les données du formulaire.

j'ai donc créé cette page interstitielle (inter.php) mais comment faire pour :

1. la redirection qui suit vers la page finale. Puis-je la faire ou non de type : header('header('Location: /traitement-formulaire.php');

2. Comment envoyer en conservant les données initiales du formulaire ?

Je ne suis pas très douée en php, si quelqu'un pouvait me venir en aide en me disant les étapes (par exemple avec une variable "email" à récupérer) , cela serait super !

Merci d'avance à celui ou celle qui me répondra.

Sandrine

Posté

En faisant un 'header', tu vas perdre les informations de post.

Tu peux envisager d'y recréer un formulaire avec une reprise de tous tes champs en 'hidden', mais tu devras utiliser du javaScript pour accéder à la page suivante (revalidation du formulaire en JS), ce qui est préjudiciable pour les utilisateurs n'ayant pas JavaScript.

Pour info, à quoi te sert cette page interstitielle ?

Posté

Bonjour,

Pourquoi ne pas effectuer le traitement dans ta page intersticielle ?

Sinon, tu peux envisager, dans cette page, de transformer tes $_POST en $_GET :

formulaire.php

-> <form method='post' action='inter.php'>

<input type='text' name='truc' value='' />

</form>

inter.php

-> Ton traitement actuel

-> $truc = htmlentities($_POST['truc']);

-> $url = "traitement.php?truc=".$truc;

-> redirection vers $url

Comme ça, tu fais comme si tu n'avais que formulaire.php sauf que tu récupères les données du formulaire post avec un $_GET...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...