La page... contient des données envoyées par POST

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

kir0
Nouveau WRInaute
 
Messages: 7
Inscription: Mer Juil 26, 2006 19:49

La page... contient des données envoyées par POST

Message le Lun Sep 25, 2006 9:13

Bonjour,

j'aimerais savoir comment enlever le message "La page que vous tentez de voir contient des données envoyées par POST..." lorsque je rafraichis ma page PHP ?

J'ai pensé passer par une page intermédiaire qui ensuite par un header location me renvoi sur la bonne page mais ca ne fait pas trés propre dans le code...
sinon j'ai essayé aussi de faire un unset() de mes variables en fin de page mais apparement ca ne marche pas !

Si quelqu'un connais une solution je suis preneur :)


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Lun Sep 25, 2006 9:34

Ya la page transitoir, mais aussi passer les variables en get qui evite d'avoir ce message


e-kiwi
Modérateur
Modérateur
 
Messages: 13864
Inscription: Mar Déc 23, 2003 9:04

Message le Lun Sep 25, 2006 9:39

>> Ya la page transitoir

ça marche ça ?


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Lun Sep 25, 2006 9:46

tu passes par une page où dedans tu retraite les données afin de ne plus avoir le post

exemple :
suite à la validation du formuaire post, tu envoie sur la page temp.php
Sur cette page, tu traites tes données, ou converti ton post en chaine et envoie vers tapage.php (via un header("Location:tapage.php?mesVar=$tachaine");
Sur tapage.php, tu récupère la chaine et la retranscrit pour réobtenir tes variables post. Sur la page temporaire, tu fais une conditions : si il n'y a pas de post (donc c est une page précédente) tu renvois vers ton formulaire


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Lun Sep 25, 2006 9:55

Et ça sert à quoi? o_O

if (isset($_POST)) ne suffit pas?


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Lun Sep 25, 2006 10:00

Non car quand tu fais un "précédent" dans ton navigateur, celui ci te propose de reposter les éléménet du formulaire de facon automatique avant d'interpréter la page, et c est ce message qu'il veut éviter


serval2a
WRInaute accro
WRInaute accro
 
Messages: 3453
Inscription: Lun Mar 21, 2005 18:17

Message le Lun Sep 25, 2006 10:05

Bonjour,
Le plus simple à mon avis c'est de placer un lien qui renvoit à la page précédent le post, ainsi l'utilisateur n'est pas tenté de raffraichir la page ou d'aller sur la page précédente.
En outre, raffraichir un page passant les données par GET peut conduire également à envoyer plusieurs fois les données dans la base, donc pas trop d'utilité à mon humble avis.
La page transitoire avec header location n'a pas non plus trop d'utilité mieux vaux utiliser une redirection quasi instantanée par meta.

@+


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5323
Inscription: Lun Juin 13, 2005 14:13

Message le Lun Sep 25, 2006 10:06

pas possible à mon avis.


sureau
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 192
Inscription: Lun Mar 07, 2005 15:25

Message le Lun Sep 25, 2006 10:23

pas possible à mon avis.
... c est toujours possible :)

Si passer en get, ca résoud le problème.

tu peux faire passer sur une page transitoire
dedans tu mets quelque chose dans le genre

Code: Tout sélectionner
POUR TA PAGE TRANSITOIRE
$_SESSION['POST'] = array();
if(isset($_POST['tavar'])){
foreach($_POST as $key=>$val){
$_SESSION['POST'][$key] = $val;
}
// tu enregistre des données dans la base ici
}else{
header("Location:ta page avec le formulaire.php");
}

// POUR TA PAGE SI VALIDATION DU FORMULAIRE
soit tu remet les variables en post, soit tu traite directement les session
if(isset($_SESSION['POST'][$key])){ // alors on a eu une validation du formulaire
foreach($_SESSION['POST'] as $key=>$val){
$_POST[$key] = $val;
}

}

kir0
Nouveau WRInaute
 
Messages: 7
Inscription: Mer Juil 26, 2006 19:49

Message le Lun Sep 25, 2006 10:27

Je vais tester en GET voir si j'ai toujours le meme probleme :) merci de vos réponses je vous tiens au courant

kir0
Nouveau WRInaute
 
Messages: 7
Inscription: Mer Juil 26, 2006 19:49

Message le Lun Sep 25, 2006 10:32

Voila le GET a résolut mon probleme :)
malgres que les données restent dans l'url au moins quand on refresh la page il n'y a pas le message !

En faites je developpe une application pour un standart téléphonique en PHP (avec du VoiceXML) avec une liste d'appels en attente et donc j'ai un bouton rafraichir pour remettre la liste à jour :)


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12373
Inscription: Dim Aoû 08, 2004 20:24

Message le Lun Sep 25, 2006 11:02

Pourquoi ne pas faire un appel en Ajax ?
Comme cela toute la page ne sera pas rafraichie, juste le strict minimum.

kir0
Nouveau WRInaute
 
Messages: 7
Inscription: Mer Juil 26, 2006 19:49

Message le Lun Sep 25, 2006 11:13

La page est assez simple , il y'a juste une liste d'appels avec des boutons d'actions (traiter l'appel, envoyer sms etc...), mais ca pourait être une bonne occaz de se mettre a l'AJAX, si tu as des sites assez simple pour commencer car je n'y ai jamais touché :)


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Lun Sep 25, 2006 12:26

sureau a écrit:Non car quand tu fais un "précédent" dans ton navigateur, celui ci te propose de reposter les éléménet du formulaire de facon automatique avant d'interpréter la page, et c est ce message qu'il veut éviter


Ok, j'avais pas capté le problème.
Pour un moteur de recherche j'avais fais un traitement du post qui renvoyé sur la page en mettant les variables en session. Bête mais ça marche.


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google Secure Access, Google Web Accelerator



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités