JS, PHP, HTML envoi automatique donnes post?
Burnyfighter
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
Bonjour,
Je souhaite écrire un bout de code php assez simple pour faire des statistiques sur les pages vues. Chaque page envoie au script de stats des données (n° de la page, heure...) et celui-ci se charge de les archiver.
Je compte utiliser la méthode post afin d'envoyer ces informations. eul problème, je ne veux pas que mes utilisateurs aient à cliquer sur un bouton pour valider l'envoi du formulaire. Comment puis je faire pour que lors qu chargement d'une page celle ci envoie automatiquement à une autre page des données de type post ?
Merci d'avance de votre aide
Je souhaite écrire un bout de code php assez simple pour faire des statistiques sur les pages vues. Chaque page envoie au script de stats des données (n° de la page, heure...) et celui-ci se charge de les archiver.
Je compte utiliser la méthode post afin d'envoyer ces informations. eul problème, je ne veux pas que mes utilisateurs aient à cliquer sur un bouton pour valider l'envoi du formulaire. Comment puis je faire pour que lors qu chargement d'une page celle ci envoie automatiquement à une autre page des données de type post ?
Merci d'avance de votre aide
A voir également:
- JS, PHP, HTML envoi automatique donnes post?
- Réponse automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Editeur html - Télécharger - HTML
- Réponse automatique gmail - Guide
1 réponse
Deux solutions :
Soit tu as du temps, et alors il faut se pencher du côté d'Ajax;
soit tu n'as pas le temps, et dans ce cas, tu peux utiliser l'astuce suivante :
Dans ton code, tu rajoutes une iframe invisible (« style="display:none" », ou alors de taille 0 ), que tu appelles, par exemple, « statFrame ».
Dans ta balise FORM : « <form target="statFrame" method="POST" name="statForm" action="statPage.php"> »
Dans le <body> de ta page affichée au client : « <body onload="javascript:document.statForm.submit();"> »
Comme ça, les données seront envoyées, traitées par statPage.php (ou la page que tu veux), le résultat sera "affiché" dans un cadre invisible. L'utilisateur ne verra rien...
Soit tu as du temps, et alors il faut se pencher du côté d'Ajax;
soit tu n'as pas le temps, et dans ce cas, tu peux utiliser l'astuce suivante :
Dans ton code, tu rajoutes une iframe invisible (« style="display:none" », ou alors de taille 0 ), que tu appelles, par exemple, « statFrame ».
Dans ta balise FORM : « <form target="statFrame" method="POST" name="statForm" action="statPage.php"> »
Dans le <body> de ta page affichée au client : « <body onload="javascript:document.statForm.submit();"> »
Comme ça, les données seront envoyées, traitées par statPage.php (ou la page que tu veux), le résultat sera "affiché" dans un cadre invisible. L'utilisateur ne verra rien...
Merci pour cette solution qui marche bien mais cela implique l'apparition d'un pop-up que le visiteur doit accepter et sous firefox, même en autorisant le pop-up, le script est bloqué sur la page intermédiaire et ne renvoie pas automatiquement sur la page finale stipulée dans la balise form. (sauf à rafraichir la page bien sûr)
Sais tu comment éviter le pop-up ?
Merci
Alors, autant en 2006 on pouvait imaginer remplacer l'Ajax par une iFrame, autant en 2010, on oublie complètement l'iFrame et on passe direct à l'Ajax :p Ce n'est pas si compliqué que ça.
Par ailleurs, je ne vois pas trop quelle pop-up devrait apparaître. Pourrais-tu m'en dire plus ? C'est une pop-up venant du navigateur lui-même, ou une page web qui s'affiche ?
Xavier