Jump to content

Méthode POST sur la même page


m1bs

Recommended Posts

Avez-vous une technique particulière pour gérer ce type d'événement, je m'explique.

1) j'effectue une mise à jour des données par le biais d'un form "POST" sur l'un de mes modules
2) seulement je ne fais pas transiter les informations par une page "mise-à-jour.php" c'est la même page qui fait la mise à jour une fois les valeurs postées.

Résultat, la page se ré-affiche une première fois sans être rafraichie ( donc à cause du POST ) et je dois reloader la page ou refaire une meta redirection sur la même page pour avoir les informations actualisées (au niveau des inputs déroulants Select etc..).

Avez-vous un avis à ce sujet ?

Link to comment
Share on other sites

Il s'agit de quelle page exactement ? Une page en front office ? Peut-être que SMARTY met la page en cache, du coup elle ne se met pas à jour vu que c'est la même page. Tu pourrais donner des détails concernant la page proprement dit ? Bon courage, soit tu trouves l'erreur en 30sec, soit t'en as pour 3 heures !

Link to comment
Share on other sites

En fait il s'agit d'un module dans le back office.
J'ai des listes déroulantes qui contiennent des informations puisées dans la base de donnée.

Lorsque je modifie un enregistrement, je fais mon "POST" sur la même page, je passe pas par une page intermédiaire qui me renvoie vers celle de départ.

Résultat je dois appuyer à nouveau sur F5 ou faire un meta redirection à 0 sec. pour que ça soit affiché correctement, c'est assez moche du coté utilisateur ça lui donne l'impression que la page est ré-affichée 2 fois. ( la 1ère fois lors du post, et immédiatement derrière avec la meta redirection )

Link to comment
Share on other sites

J'ai trouvé la solution il suffit de faire ceci on récupère l'url dans la barre de naviguation, puis à la fin on fait un header location tout simplement.

Merci ^^

function url_actuelle()
{
return "http://" . $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}

if(isset($_POST['form'])){

// Mon traitement

header ("location: ".url_actuelle());
exit;
}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...