2009-10-05 4 views
2

J'ai une page dans un processus eCom qui fonctionne comme ceci: si vous voulez une carte de membre supplémentaire, cliquez ici.Bonne façon de faire face à un problème de bouton IE Retour?

Vous obtenez la même page et un PHP $_SESSION var est configuré pour reconnaître votre choix, la base de données est mise à jour avec cette information, et un champ de montant caché est défini pour le poste à la passerelle de paiement.

Si vous revenez en FF ou Chrome etc la session var s'assure que la carte supplémentaire reste dans votre commande et le prix ajusté est dans le champ caché. Cependant, IE n'est que trop heureux de servir la copie en cache de la page avec l'ancien prix et vous laisser aller à la passerelle de paiement comme si vous n'aviez jamais ajouté la carte.

J'utilise les en-têtes de contrôle de cache par recommandation formulée par Microsoft pour empêcher ce comportement dans leur produit défectueux:

<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Expires" CONTENT="-1"> 

Actuellement, je pense que je vais avoir ce poste de formulaire pour mon propre script pour recalculer le prix et utilisez cURL pour envoyer le message à la passerelle.

Est-ce mon meilleur choix ici?

Merci pour tout conseil.

Répondre

1

Vous ne devriez en aucun cas faire confiance au navigateur de l'utilisateur. Envoyez les informations de prix vous-même plutôt que de compter sur l'utilisateur pour le faire pour vous. Votre description d'une solution possible semble correcte.

Questions connexes