comptabiliser les clicks sur envoi de formulaire

phenx

Nouveau WRInaute
Bonjour,

j'aimerais savoir comment, avec GA, je puis comptabiliser le nombre de click sur un boutons d'envoie de formulaire.

En php mon code donne ceci :

Code:
<form action=\"sendform.php\" method=\"post\">
  			E-Mail : <input type=text size=30 name=MAIL />&nbsp;&nbsp;&nbsp;Tel : <input type=text size=30 name=TEL <br /><br />
    		<textarea cols=60 rows=15 name=\"COMM\" value=\"msg\" ></textarea><br><BR>
    		<input type=\"submit\" name=\"OK\" value=\"Envoyer le message\" />
 		 </form>

et le sendform.php :

Code:
	$message="fMessage: $COMM
            Mail: $MAIL
            Tel : $TEL";

   If ( !  mail('email@email.com','Envoi du formulaire', $message ) )
       Echo 'Une erreur est survenu lors de l\'envoi du message';

       Header ('Location: /');
       Exit;

que, et ou, dois-je ajouter pour que GA comptabiliser ces envois ?

J'ai essayé de mettre le script GA dans le sendform.php mais comme justement c'est du php, il ne lit pas le script js

Merci
 

arnaudmn

WRInaute passionné
Dans le fichier sendform.php il faut le mettre.
Quand l'utilisateur va cliquer sur le bouton, le script sendform.php va être appelé et le résultat va être affiché dans le navigateur (et le javascript évalué/exécuté si tu en mets).

PS : Tu vas avoir une erreur de script si le mail n'est pas envoyé, vu que tu as mis une commande Echo, qui a généré les en-tête html, et que dans ce cas la commande Header n'est plus disponible.
Faut plutot un truc du style:

Code:
If ( !  mail('email@email.com','Envoi du formulaire', $message ) )
     Echo 'Une erreur est survenu lors de l\'envoi du message';
else 
     Echo 'Mail envoyé';
Code_du_script_js
 

phenx

Nouveau WRInaute
si je comprend bien, dans mon sendform.php je doit avoir un truc du genre :

Code:
<?
code d'envoi du mail
?>
<script>
code javascriptn de GA
</script>

c'est bien cela ?

PS: merci pour le "truc" sur l'envoi, je corrige ça
 

phenx

Nouveau WRInaute
mais je ne comprend aps pourquoi il va lire le javascript, normalement à la fin du script php, il va mafficher "message envoyé", mais du couop il va aps passé sur le JS, si?
 

arnaudmn

WRInaute passionné
TOUT le résultat du fichier sendform.php va être envoyé au navigateur du visiteur. S'il y a du javascript, celui ci sera évalué par son navigateur. Comme ci tu pointait sur une bête page html.

Pi tiens, le plus simple, c'est d'essayer :)
 

phenx

Nouveau WRInaute
c'est donc ce que je vais faire
pour retrouvé mon comptage sur GA, j'imagine qu'il suffit que je cherche l'url sendform.php, non ?

merci pour toutes ces infos si rapide
 

jcaron

WRInaute accro
Attention: dans le bout (très partiel) de code que tu donnais au départ, il y avait un redirect (Header('Location: /')). Si c'est le cas ça ne marchera pas, il faut absolument que l'utilisateur "reste" sur la page sendform.php (i.e. qu'il n'y ait pas de redirect, après il peut cliquer où il veut ou fermer la fenêtre bien entendu). D'ailleurs le "echo" en cas d'erreur ne sert à rien vu le redirect.

Et si tu as déjà ton code JS dans ton template pas besoin de l'ajouter une deuxième fois dans cette page, il y sera déjà une fois.

Jacques.
 

Mountain Magazin

WRInaute occasionnel
Sinon tu as une autre solution :

<input type="submit" onclick="javascript:pageTracker._trackPageview('/nomQuiTePlait.php');" value="Valider" />

nomQuiTePlait.php n'a pas besoin d'exister physiquement sur le serveur, tu peux l'appeler comme tu veux, c'est un nom virtuel qui sera créé dans GA.

Ensuite, il te suffit de filtrer sur le nom nomQuiTePlait.php pour retrouver sa trace et les stats associées. TU peux appliquer des filtres ou des objectifs dessus.
 

Discussions similaires

Haut