Page 1 sur 1

Actualiser la page

Posté : 16 août 2015, 20:22
par l'AMI Yves
Dans une page en php, je liste le contenu d'un répertoire, et j'ai un formulaire avec un bouton "supprimer" qui appelle un autre fichier php, dans lequel je fais diverses vérifications, puis je supprime le fichier et je reviens à la page précédente (sans en avoir ouvert une autre, il faut bien le dire) par un "header('location:...')".

Or la liste n'est pas mise à jour : qu'est-ce que j'ai mal fait ?

Merci d'avance.

AMIcalement.

Re: Actualiser la page

Posté : 16 août 2015, 20:34
par or 1
la suppression du fichier marche bien ?

Re: Actualiser la page

Posté : 16 août 2015, 22:49
par l'AMI Yves
Oui, mais il est toujours dans la liste quand je reviens. Si je clique sur l'icone pour actualiser la page, il disparait.

Re: Actualiser la page

Posté : 17 août 2015, 17:09
par Ryle
Cela pourrait simplement être du à un problème de cache au niveau du navigateur. A voir en vidant le cache de celui-ci ou en modifiant les paramètres.
Essayes d'ajouter un attribut en plus dans ton location (par exemple pour indiquer que la suppression a été réalisée avec succès). L'url étant différente, le navigateur ne devrait pas utiliser son cache (si le problème vient bien de là, mais si ton enregistrement est bien supprimé, je vois pas d'autre cause)...

Re: Actualiser la page

Posté : 17 août 2015, 18:58
par Vince32
Ryle a raison , cela doit être du au navigateur qui cherche toujours à optimiser la vitesse et le chargement. On retrouve cela souvent avec les fichiers de style CSS qui restent les même , même si on fait des modifs.

Un petit astuce pour remédier à cela est de mettre dans ton header(Location :... ) le nom de ta page suivi d'un nombre choisi au hasard.

Code : Tout sélectionner

header('location: page.php?rand()')

Re: [RESOLU]Actualiser la page

Posté : 18 août 2015, 23:56
par l'AMI Yves
Je me souviendrai de l'astuce de la variable aléatoire...

Mais j'ai résolu mon problème différemment : premièrement, je déteste le passage de paramètres par GET : moins mon utilisateur en voit, mieux ça vaut. Donc je les passe par POST. Et je ne pensais pas que chaque formulaire remettait à zéro le tableau $_POST. Donc au retour, j'avais besoin de re-passer un certain paramètre.

J'ai donc créé une "mini" page, ne contenant qu'un formulaire avec un seul champ "hidden" et sans bouton, que je soumets par une instruction javascript.

Ca fait six lignes de HTML (plus 2 pour sortir de php et y revenir), ça fait passer une page blanche... C'est pas très beau, mais ça marche...

Merci à tous

AMIcalement.

Re: [RESOLU] Actualiser la page

Posté : 19 août 2015, 00:08
par or 1
quitte à mettre du javacript, autant faire la suppression en ajax, et faire disparaitre la ligne à l'affichage en changeant le css.

Re: [RESOLU] Actualiser la page

Posté : 19 août 2015, 17:29
par Vince32
l'essentiel c'est que cela marche et que ce soit économique en ressource.