web-dev-qa-db-fra.com

Comment assigner une valeur de variable Php à une variable Javascript?

Dupliquer possible:
Quel est le meilleur moyen de passer une variable PHP à Javascript?

J'utilise le code suivant:

<script type="text/javascript">
<?php $ctnme = $_SERVER['REQUEST_URI'];
$cnme = explode("/",$ctnme);
echo $cname = $cnme[1];
?>
var spge = <?php echo $cname; ?> ;
alert(spge);
</script>

La valeur n'alerte pas. Quelle est l'erreur?

25

Essentiellement:

<?php
//somewhere set a value
$var = "a value";
?>

<script>
// then echo it into the js/html stream
// and assign to a js variable
spge = '<?php echo $var ;?>';

// then
alert(spge);

</script>
56
Cups

Le moyen le plus sûr (en termes de traitement des caractères spéciaux et des types de données) utilise json_encode() :

var spge = <?php echo json_encode($cname); ?>;
7
Stefan Gehrig

Utilisez json_encode () si possible (PHP 5.2+).

Voir celui-ci (peut-être dupliquer?): Passer une chaîne PHP à une variable JavaScript (et échapper à la nouvelle ligne)

4
Frosty Z

Placez des guillemets autour du <?php echo $cname; ?> pour vous assurer que Javascript l'accepte comme chaîne, envisagez également l'échappement.

2
Dunhamzzz
**var spge = '';** 
alert(spge);
0
Sai Sherlekar