Vous devez utiliser PRG - Post/Redirect/Get pattern. La redirection et la vue de chargement ne sont pas identiques si vous avez le formulaire dans le contenu de la page.
Scenario:
Il existe une vue, view_1 avec le formulaire, pour débiter de l'argent d'un compte. Après la soumission du formulaire dans view_1, vous voulez passer à view_2 avec un message de réussite et vous avez 2 options pour atteindre le même résultat. 1. charger view_2 avec le message de réussite ou 2. rediriger vers view_2 avec le message de réussite du transfert de données flash.
Option 1: charge view_2 avec un message de réussite Lorsque vous soumettez le formulaire et l'actualisation, il causera resoumission et causer débit multiple du compte, ce qui ne devrait pas être le cas. Vous aussi, vous pouvez voir l'alerte «Confirmation de la nouvelle soumission du formulaire».
Option 2: Ceci est la bonne réponse PRG
PRG - Post/Redirect/Get PRG est un modèle de conception de développement web qui empêche certaines soumissions de formulaire en double qui signifie, Envoyer un formulaire (VIEW_1) - > Redirect -> Get (view_2)
Under the hood
Redirect code d'état - HTTP 1.0 avec HTTP 302 ou HTTP 1.1 avec HTTP 303
Une réponse HTTP avec un code d'état de redirection fournira en plus une URL dans le champ d'en-tête de localisation. L'agent utilisateur (par exemple un navigateur Web) est invité par une réponse avec ce code à faire une seconde requête, sinon identique, à la nouvelle URL spécifiée dans le champ de localisation.
Le code d'état de redirection doit garantir que dans cette situation, le navigateur de l'internaute peut actualiser la réponse du serveur en toute sécurité sans que la requête HTTP POST initiale soit soumise à nouveau.
Source
Double Submit Problem
Post/Redirect/Get Solution
Bien sûr 'flashdata' ne fonctionne pas sur le courant' $ this-> load-> vue(); ', car il définit une valeur de session visible uniquement sur la prochaine page chargée par le navigateur (pas la valeur actuelle). Si vous voulez passer des données à 'view()', passez-le simplement à l'appel 'view ($ page, $ data)' en tant que second paramètre. –
Je ne suis pas sûr de ce que vous essayez de faire. Vous avez probablement besoin de passer un peu plus de temps à lire les documents de CI .. ressemble à votre mélange de choses un peu .... – Ben
http://stackoverflow.com/a/32866456/412591 –