Variable de php a javascript / analytics

Résolu/Fermé
123pierre Messages postés 48 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 28 janvier 2011 - 2 sept. 2009 à 07:20
123pierre Messages postés 48 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 28 janvier 2011 - 3 sept. 2009 à 06:07
Bonjour,

Je veux passer une variable en plus sur Analytics a l'aide de pageTracker._setVar

La variable c'est le nom de l'utilisateur loggué en php qui donne:
$userdata['username']

J'ai essaye plein de syntaxes différentes, j'en suis a:
<script type="text/javascript">
var username="<?php echo $userdata['username'] ;?>";
pageTracker._setVar(username);
</script>



Mais pourquoi diantre, quand je retourne sur analytics, 3/4 des données reçues sont sous la forme:
<?php echo $userdata['username'] ;?>

le 1/4 restant ca marche et ca me donne le bon pseudo de l'utilisateur connecté..

Bizard....

Merci pour ceusse qui peuvent m'aider.

Pierre.
A voir également:

3 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
2 sept. 2009 à 15:54
Bonjour,

Erreur de "débutant" si je puis dire :)

Il faut savoir que PHP est une langage serveur, s'exécutant donc coté serveur, alors que Javascript est un langage client, qui ne s'exécute donc que chez le client (navigateur donc).

Conclusion, tout ce que tu mets entre balises <script language="javascript"> </script> sera exécuté coté client, après que le PHP soit interprété. Donc tous ce que tu mets en tant que code PHP à l'intérieur ne sera pas exécuté avant d'être coté navigateur. Or, comme il s'agit de PHP, le navigateur ne le comprenant pas (ce n'est pas du javascript), le bout de code sera affectée en tant que valeur à ta variable javascript (et ne sera donc pas interprétée comme tu t'y attends)

La bonne manière de faire est donc la suivante :
echo "<script type='text/javascript'>";
echo "var username='".$userdata['username']."';";
echo "pageTracker._setVar(username);";
echo "</script>";


Depuis l'intérieur de ton code PHP si tu as bien suivi. Ainsi, la partie "$userdate...." sera interprétée coté serveur et username recevra donc la bonne valeur lorsque ton javascript s'exécutera coté client.
0
123pierre Messages postés 48 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 28 janvier 2011 2
2 sept. 2009 à 17:12
coool!


Je vais essayer ca et reviens vers le site pour cocher "resolu" si ca marche!!
(escuse de douter mais j'ai tellement essayer toutes les syntaxes possible....)

Merci bcp,

Pierre.
0
123pierre Messages postés 48 Date d'inscription vendredi 13 mars 2009 Statut Membre Dernière intervention 28 janvier 2011 2
3 sept. 2009 à 06:07
Hello Super ca marche..

Merci
0