récupérer les mots clés d'un visiteur par le formulaire de contact

Nouveau WRInaute
Bonjour à tous,
Toutes mes excuses, si ce sujet est déjà traité... je n'ai pas réussi à le trouver.
Après plusieurs semaines de recherche, je me décide à mettre un post. Je connais rien ou presque en php. J'ai un tout petit site en html/css de 10 pages, et j'aimerais, uniquement lorsque qq'un me contacte par le formulaire, arriver à récupérer les mots clés par lesquels il est arrivé sur le site.
Le résultat recherché, est donc que je reçoive mon email par le formulaire du site avec le contenu de la demande, et qu'apparaissent sur cet email les mots clés par lesquels le visiteur est arrivé sur le site. Ce n'est jamais le mot clé de la dernière page vue, puisqu'à 99.99% des cas les visiteurs arrivent sur une page du site, y naviguent, et vont ensuite sur la page "contact".
le site c'est www.camping-lac.fr
Merci par avance pour votre aide.
Vincent
 
Nouveau WRInaute
Bonjour,
Merci pour votre réponse. J'utilise google analytic, mais cela ne me donne pas les mots clés grâce auxquels j'ai reçu des demandes. Ce que je voudrais savoir, c'est par quels mots clés on transforme en "vente" (en réservation de camping en l'occurrence).
Merci
Vincent
 
WRInaute accro
récupérer le referer
Si referer est un moteur, extraire les mots clé de l'URL
Si le visiteur utilise le formulaire, insérer les mots clés extrait dans un champs input caché.
 
Nouveau WRInaute
Merci Rod la Kox,
J'ai déjà essayé de récupérer le Referer, mais ça ne me récupère que la dernière page vue avant la page du formulaire de contact. Comme les internautes visitent le site d'abord, et contactent ensuite, je n'arrive pas à obtenir leurs mots clés d'arrivée sur le site.
Y a t'il un moyen de faire ça avec un bout code php?
Merci encore
 
Membre Honoré
Vous pouvez essayer les options avancées : "Advanced Segmentation" de Google Analytics.

N'hésitez pas à participer sur le forum en répondant aussi à d'autres topics.
 
WRInaute accro
leschanterelles a dit:
Merci Rod la Kox,
J'ai déjà essayé de récupérer le Referer, mais ça ne me récupère que la dernière page vue avant la page du formulaire de contact. Comme les internautes visitent le site d'abord, et contactent ensuite, je n'arrive pas à obtenir leurs mots clés d'arrivée sur le site.
Y a t'il un moyen de faire ça avec un bout code php?
Merci encore
1 - Un session start
2 - à la premiere connexion (une variable session absente par exemple), tu choppes tout (ip, agent, referer, etc etc que tu stockes dans un array de session)
3 - Ensuite lorsque tu en as besoin 100 pages consultées et 15 minutes plus tard, il te suffit d'aller piocher dans ton array de session.

Tout simplement
 
Nouveau WRInaute
@Madrileño : Merci; effectivement on fait des trucs plus poussés en matière de stats avec l'option "segment avancé", mais à priori je ne peux quand même pas faire une relation directe entre le contact reçu par email (par le formulaire) et le mot clé tappé. Si j'ai 10 demandes par email, par 10 mots clés d'arrivés différents, dur dur de faire la relation entre eux.

@Zecat : c'est surement une solution, merci. Bon, je suis une quiche en php, donc j'ai pas tout compris. Si j'ai bien compris un truc, c'est qu'il faut que l'internaute s'identifie sur une cession? Si c'est le cas, c'est pas possible, car il faut que les visiteurs puissent naviguer librement sur le site, sans aucune contrainte, pas même celle de s'identifier.
Sinon, si possible, j'aimerai ne pas avoir de base de donnée à mettre en place; j'en ai jamais fait, et je ne saurai pas m'en débrouiller je pense. Merci à toi en tout cas pour ta réponse
 
Membre Honoré
leschanterelles a dit:
Si j'ai 10 demandes par email, par 10 mots clés d'arrivés différents, dur dur de faire la relation entre eux.
Il faut étudier les visiteurs pour comprendre la navigation.
Vous pouvez par exemple demander à vos clients des avis sur le site.
 
WRInaute accro
leschanterelles a dit:
@Zecat : c'est surement une solution, merci. Bon, je suis une quiche en php, donc j'ai pas tout compris. Si j'ai bien compris un truc, c'est qu'il faut que l'internaute s'identifie sur une cession? Si c'est le cas, c'est pas possible, car il faut que les visiteurs puissent naviguer librement sur le site, sans aucune contrainte, pas même celle de s'identifier.
Sinon, si possible, j'aimerai ne pas avoir de base de donnée à mettre en place; j'en ai jamais fait, et je ne saurai pas m'en débrouiller je pense. Merci à toi en tout cas pour ta réponse
Pas besoin de bdd et pas besoinde s'identifier ...

1 - tu crees d'office une session de façon transparante avec session start (va voir le manuel php pour les detail) en haut de chaque page

2 - Tu peux des lors memoriser des variables de type $_SESSION['mavar']=$mavar et relire cette info meme sur les apages suivantes $mavar=$_SESSION['mavar']

et c'est tout !

ne pas confondre une session avec une identification du visiteur. En gros tu peux considérer une session comme un espace disponible et visible par toutes les pages (donc des variables persistantes en quelque sorte). Et ca permet donc pleins de choses ...
 
Nouveau WRInaute
Merci encore
Ca demande effectivement une étude, et faire ça pour chaque demande... c'est trop long...
En fait j'ai été chez un hébergeur web qui "fournissait" le formmail.php, fichier de traitement du formulaire html, et alors lorsque je recevais un email par le formulaire, les mots clés d'arrivées du visiteur sur le site, apparaissaient.
Actuellement, j'ai change d'hébergeur, et j'ai fait mon ficher formmail.php, tout simple pour renvoyer par email la demande.
D'après ce que j'ai pu voir, il récupérait le contenu d'un cookie nommé utmz lequel contenait utmctr, mots clés d'arrivé du visiteur sur le site. Je sais qu'il faut que tout ça soit déclaré en mention légale etc, mais techniquement y aurait il pas une solution avec ce cookie?
 
WRInaute accro
leschanterelles a dit:
Merci encore
Ca demande effectivement une étude, et faire ça pour chaque demande... c'est trop long...
Trop long ? :roll:

Execution : un pouieme de micro nano seconde
Codage : Deux lignes (allez disons 6 avec le test isset ... et 10 avec les recup de referer ...)

Moi aussi lorsque l'on m'a incité (ici) a utiliser les sessions, j'étais un peu refractaire par non connaissance et flemingite a apprendre un nouveau truc ... mais depuis je ne jure que par cela.

Enfin bon c'est toi qui voit.
 
Nouveau WRInaute
Non non pas trop long non; on a posté en même temps. Je répondais à Madrileño pour l'étude des visiteurs sur Google Analytic.

Zecat merci pour ta réponse en tous cas!! Effectivement, parlé comme tu en parles, ça n'a pas l'air trop compliqué, et ça donne bien envie de s'y mettre. Par contre la plupart des pages de mon site sont en .html . Je ne peux pas les renommer en .php, référencement oblige, ça va donc poser un big soucis ça non?
Peut être que je peux appeler un script php dans le head de chaque page...?
Merci ++ :)
Vincent
 
WRInaute accro
oui bien sur que tu peux embarquer du code php dans tes pages html ... il suffit d'ajouter une ligne ou deux dans ton htaccess pour le dire .. je l'ai pas sous la main mais un wrinaute te refilera ca tres vite je pense.
 
Nouveau WRInaute
Merci Zecat; je vais commencer par essayer de trouver la solution par le htaccess pour exécuter du php dans une page html.
Ensuite je m'attèle au session start....
Merci de ton aide
Vincent
 
WRInaute accro
Tu renommes toutes tes pages .html en .php

Tu met dans le .htaccess les lignes suivante :
Code:
RewriteEngine on
RewriteRule ^(.*)\.html$ /$1.php

Dans toutes tes pages, tu places tout en haut de code :
Code:
<?php
session_start();
if (empty($_SESSION['URL_Referer'])$_SESSION['URL_Referer'] = $_SERVER['HTTP_REFERER'];
?>

Sur la page de ton formulaire tu fais la petite moulinette pour extraire les mots clé de l'URL stocké dans :
Code:
$_SESSION['URL_Referer']
Ensuite, tu les passes dans un input hidden via le formulaire et tu les récupère comme n'importe quel champs.
 
WRInaute accro
Voila ! Rod a eu le courage ... que je n'ai pas eu :mrgreen: On devient flemmasse par ici :roll:

"Ensuite, tu les passes dans un input hidden via le formulaire et tu les récupère comme n'importe quel champs."

Ou tu recolles le resultats en $_SESSION ... et tu les recuperes apres ton post comme n'importe quelle variable de sessions :wink: Bon là je sens que je t'embrouille ...
 
WRInaute accro
Sinon, si tu as gg analytics sur ton site, c'est encore plus simple : tu lis le cookie '__utmz', utmctr contient les mots clés tapés pour arriver sur le site
 
WRInaute accro
avec analytics tu crée un objectif (l'envoi de ton formulaire) et basta, tu as tout ce que tu veux, tu regarde les mots clés de ceux qui ont postés ton formulaire, point. c'est pas compliqué quand même, avec les bons outils.
 
WRInaute accro
Rod la Kox a dit:
... C'est bien tout ça, mais c'est être dépendant d'une solution externe. ;-)
D'accord avec rod ... le jour ou tu change pour autre chose que analytics tu l'as dans l'os et tu dois tout recoder ... moins il y a de dépendances, plus c'est robuste.
 
Nouveau WRInaute
Merciiii à tous!!! impressionnant de réactivité. J'ai pas pu répondre depuis hier... ben oui faut travailler :wink:
Pour faire le tour des post, grand merci à Rod pour la solution complète!! C'est une bonne solution dans la mesure où on est pas dépendant de facteurs extérieur : entièrement d'accord. Par contre, renommer les pages et faire un RewriteRule ça me branche qu'à moitié, référencement oblige... faut revoir tous les backlinks etc... peut être que mon appréhension n'est pas fondée, mais bon...
Sinon l'idéal serait d'arriver à faire interpréter les pages .html en php par le .htaccess. Zecat, merci pour l'info : j'ai cherché et trouvé qq infos pour le .htaccess mais pour l'instant rien de fonctionne (hébergeur Mavenhosting sur serveur mutualisé OVH). J'ai fait une demande par email, et dès que j'ai une réponse, je vous tiens au jus.
@+
 
WRInaute accro
Pas besoin de reecrire tes url pour mettre du php. tu ajoute juste ca dans ton ht access :

Code:
AddType x-httpd-php .htm
AddType x-httpd-php .html

Comme ca meme si ta page se nom toto.htm elle est reconnue comme pouvant embarquer du php ... et ca marche meme chez free.fr, c'est dire ...

leschanterelles a dit:
Merciiii à tous!!! impressionnant de réactivité.

C'est tout l'interet d'une grosse bebette comme wri : y a toujours un chat une coccinelle un ecureuil ou une eolienne qui rod(e) :mrgreen: oh pitin déjà en forme de bon matin ... ca promet !
 
Nouveau WRInaute
Merci Zecat; j'ai fait l'essai ce code dans le htaccess :
Code:
AddType x-httpd-php .htm
AddType x-httpd-php .html
Mais ça marche pas. le navigateur n'interprète pas le fragment en php pour autant, qui pourtant est on ne peut plus simple :
Code:
  <?php
 include 'calendrier.txt';
 ?>
J'attends donc la réponse de l'hébergeur pour qu'il me dise s'il n'y pas une config à rectifier sur le serveur...
A bientôt pour la suite
 
Membre Honoré
leschanterelles a dit:
Mais ça marche pas. le navigateur n'interprète pas le fragment en php pour autant, qui pourtant est on ne peut plus simple :
Code:
  <?php
 include 'calendrier.txt';
 ?>
Avez-vous bien renommer le fichier en .php ; si le fichier est .html il ne va pas être interpréter par le navigateur.
 
WRInaute accro
Madrileño a dit:
Avez-vous bien renommé le fichier en .php ; si le fichier est .html il ne va pas être interprété par le navigateur.
si, avec
Code:
AddType x-httpd-php .htm
AddType x-httpd-php .html
... si l'hébergeur l'autorise :wink:
 
Nouveau WRInaute
Avez-vous bien renommer le fichier en .php ; si le fichier est .html il ne va pas être interpréter par le navigateur.
Ben non, le but est de conserver les URL intactes, donc garder les fichiers en .html, et de notifier sur serveur par le htaccess :
Code:
AddType x-httpd-php .htm
AddType x-httpd-php .html
quel es fichiers .html doivent être interprétés en php.
J'ai envie ++ d'éviter de modifier les extensions des pages, donc les URL...
Merci @+
 
Nouveau WRInaute
Pas de FAQ... et d'après la réponse que j'ai reçu ce matin, il savent pas trop trop eux non plus!
"Essayez ceci dans votre .htaccess :
AddType x-httpd-php .html"
J'ai essayé maintes et maintes possibilités avec AddType, ForceType... avec "application/" ou sans etc etc... mais rien de fonctionne.
J'ai re-sollicité Mavenhosting, mais j'ai pas trop l'impression qu'ils soient à la hauteur de ce problème là... à suivre.
 
WRInaute accro
leschanterelles a dit:
Pas de FAQ... et d'après la réponse que j'ai reçu ce matin, il savent pas trop trop eux non plus!
"Essayez ceci dans votre .htaccess :
AddType x-httpd-php .html"
J'ai essayé maintes et maintes possibilités avec AddType, ForceType... avec "application/" ou sans etc etc... mais rien de fonctionne.
J'ai re-sollicité Mavenhosting, mais j'ai pas trop l'impression qu'ils soient à la hauteur de ce problème là... à suivre.
Ca inspire confiance, j'espère que tu te fera jamais pirater ton site :)
 
WRInaute accro
leschanterelles a dit:
J'ai re-sollicité Mavenhosting, mais j'ai pas trop l'impression qu'ils soient à la hauteur de ce problème là... à suivre.
C'(est pourtant assez basique comme sujet ... si ton hebergeur sèche la dessus (enfin la hotline en tout cas) :roll:
 
WRInaute accro
bproductiv a dit:
Au moins analytics, en 5 minutes c'est en place :p NA ! :lol:
sauf que si tu veux envoyer ces infos à un simple user (secrétaire, vendeur, ...) sans avoir besoin de les former à gg analytics, une solution autre que gg est quand même conseillée. Ca lui permet de pouvoir répondre immédiatement à une demande, en fonction de la recherche ayant amené sur le site, en plus de sa demande explicite dans le mail
 
Nouveau WRInaute
Première étape de faite!! Ca y est, MavenHosting m'a répondu avec la solution. Enfin d'après les qq tests que j'ai fait, ça marche bien. Il faut mettre dans le .htaccess :
Code:
AddHandler application/x-httpd-php5 .php .html .htm
Voilou.
J'ai du boulot, là, donc je poursuit plus tard la manip pour mettre en place les cessions, comme vous m'avez indiqué Zecat et Rod La Kox !
Suite au prochain épisode, et merci à tous encore une fois :)
 
Nouveau WRInaute
et la suite... je bute à présent sur le code de Rod la Kox :
  • <?php
    session_start();
    if (empty($_SESSION['URL_Referer'])$_SESSION['URL_Referer'] = $_SERVER['HTTP_REFERER'];
    ?>
Je l'ai placé sur une page pour commencer, au tout début de <body>; ne sachant pas trop trop, j'ai aussi essayé en tout début de code juste avant la déclaration du doctype etc, et dans le head, mais toujours la même erreur.
Je confirme par l'occasion que je suis quiche++ en php... Je ne vois pas d'erreur de syntaxe d'après ce que j'ai pu fouiner, pourtant la page ne charge pas et affiche une erreur de synatxe:
  • Parse error: syntax error, unexpected T_VARIABLE in /xxxxx/xxxxxx/xxxxxxxxxx/index.php on line 177

Voyez vous un problème de syntaxe?
Merci de votre aide...
Vincent
 
WRInaute accro
leschanterelles a dit:
et la suite... je bute à présent sur le code de Rod la Kox :
Code:
session_start();
if (empty($_SESSION['URL_Referer']))
  $_SESSION['URL_Referer'] = $_SERVER['HTTP_REFERER'];
Voyez vous un problème de syntaxe?
Merci de votre aide...
Vincent
il te manquait une parenthèse fermante sur le if ()
 
WRInaute accro
D'ou l'intéret lorsqu'on code (quel que soit le langage) de bien séparer les lignes de test des instructions impératives. je sais bien que la "mode" en php est de faire au plus concis et de tout empiler mais rien ne reste plus lisible, plus facile a maintenir et plus vite relu par un tiers qu'un bon

if (zzzzzz)
{
xxx
}
else
{
xxxxx
}

avec retours à la lignes et indentations !

papy la vieille écolde :mrgreen:
 
Nouveau WRInaute
Ca y est!!!! C'est TOP TOP TOP!!!!!!!!! Que dire... d'abord super grand merci à vous tous, les participants à ce forum. Quelle belle aide solidaire. Il me tarde de me "déquicher" :D en php, que je puisse apporter ma pierre à l'édifice WRI.
Super forum que celui de WRI !
Bon continuation à tous, et à très bientôt
Vincent
 
Nouveau WRInaute
Oui super oui!! Super parce que j'arrive à ce que je souhaitais, mais je ne mesure pas encore toutes les possibilités que ça peut ouvrir... c'est pour ça que c'est intéressant aussi :wink:
Faut il faire qq chose de particulier pour "clore" ou "mettre comme résolu"le post?
Bonne journée!
 
Discussions similaires
Haut