PHP TO JS - CONVERSION D'UNE VARIABLE EN PHP VERS JAVASCRIPT

phvr Messages postés 2 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 23 juin 2003 - 23 juin 2003 à 14:19
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007 - 12 oct. 2008 à 16:44
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/13232-php-to-js-conversion-d-une-variable-en-php-vers-javascript

jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
12 oct. 2008 à 16:44
Merci @ tous pour vos réponses.

J'ai trouvé la solution, je ne récupérais pas l'adresse de redirection ou il le fallait. Il suffit juste d'affecter la variable "url" pendant la traitement en php en non pas dans la fonction javascript placée dans le "head". J'avais oublié que le php est éxecuté côté serveur et non pas côté utilisateur. Du coup je voulais traiter une variable php qui n'existe plus côté utilisateur.

Voila mon problème est résolu.
dpantillon Messages postés 3 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 20 septembre 2008
20 sept. 2008 à 16:39
Et avec ce bout de code:
<script type="text/javascript">
window.opener.location.href="<?php echo $adresse_retour; ?>";
setTimeout("window.close()",1000);
</script>
Et si cela en fonctionne pas, teste de la manière suivante:
echo " jnff : ".$classe_eleve; // pour être certain que tu récupères bien la page
et si ça ne marche toutjours pas, essaie de mettre l'adresse en hard:
<script type="text/javascript">
window.opener.location.href="eleve_consultation.php?classe=1C_PROE";
setTimeout("window.close()",1000);
</script>
A+
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
20 sept. 2008 à 13:03
Merci de vos réponses @ tous.
rius_ngatcha: Je n'ai aucun mérite pour le code étant donné que je l'ai récupérer sur le net mais c'est clair que la fonction de redirection après un décompte est assez simple d'utilisation.

dpantillon: Effectivement je fais un "$classe_eleve mysql_real_escape_string(htmlspecialchars($_POST['classe_eleve']));" pour récuperer de mon formulaire la classe de l'élève, je n'ai pas de problème de ce côté là, par contre là ou cela coince c'est que je n'arrive pas à faire cela "var url <?php echo $adresse_retour; ?>;" dans la fonction de redirection, sachant que ma variable $adresse_retour contient bien l'adresse de la page que je veux afficher après le décompte (ex: "eleve_consultation.php?classe=1C_PROE"), la fonction en javascript ne prend pas en compte le contenu de la variable php $adresse_retour. C'est pour cela que je me retrouve sur la page d'accueil de mon site étant donner qu'il n'a pas exécuter le "var url = <?php echo $adresse_retour; ?>;", la variable JS reste "vide". D'où vient le problème?
dpantillon Messages postés 3 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 20 septembre 2008
17 sept. 2008 à 17:15
Correction:

if (isset($_POST[classe_eleve]))
$classe_eleve=$_POST[classe_eleve];
else $classe_eleve=0;
dpantillon Messages postés 3 Date d'inscription lundi 1 mai 2006 Statut Membre Dernière intervention 20 septembre 2008
17 sept. 2008 à 17:13
Salut JNFF;
Je tombe par hasard sur ta question.
Comment récupères-tu ta variable $classe_eleve avant de l'utiliser dans:

$adresse_retour = 'eleve_consultation.php?classe=' . $classe_eleve;

Je pense que tu la passes par POST. Tu dois donc la récupérer:

if (isset($_POST[classe_eleve]))
$classe=$_POST[classe_eleve];
else $classe=0;

Pour la tester, tu n'as qu'à faire un:
echo " jnff : ".$classe_eleve;
rius_ngatcha Messages postés 1 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 12 septembre 2008
12 sept. 2008 à 20:19
2008 bravo pour le code que tu as écris car en plus d'être simple il est très simple
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
6 sept. 2008 à 21:06
Bonjour à tous, je suis débutant ds la programmation php et je voudrais déjà savoir ou mettre la fontion php2js() exactement (ds le header, ds le body, ds un autre fichier).

Est ce que ce script peut faire ce que je veux, cad:

j'ai une page php (eleve_traitement.php) qui traite un formulaire. A la fin du traitement, je voudrais me rediriger sur une autre page mais en transferant une variable php ds l'adresse. la fonction qui me permet de me rediriger est une fonction en javascript est cet redirection s'effectu après un décompte.

pour la redirection j'utilise cela:

<script type="text/javascript">
window.onload = Init;
var waitTime = 5; // Temps d'attente en secondes.
var url = <?php echo $adresse_retour; ?>; // Lien de destination.
var x = 1000;

function Init()
{
window.document.getElementById('compteur').innerHTML = waitTime;
x = window.setInterval('Decompte()', 1000);
}

function Decompte()
{
((waitTime > 0)) ? (window.document.getElementById('compteur').innerHTML = --waitTime) : (window.clearInterval(x));
if (waitTime == 0)
{
window.location = url;
}
}
</script>




Dans le body, à la fin du traitement des données recues par le formulaire, j'ai déclaré une variable php qui contient l'adresse de la page que je veut afficher après :

$adresse_retour = 'eleve_consultation.php?classe=' . $classe_eleve;

sachant que la variable $classe_eleve est la variable que je veux récupérer sur la page eleve_consultation.php



Lorsque j'execute ma page de traitement, à la fin du décompte, je suis redirigé sur la page d'accueil (index.php) du site comme s'il n'avait pas tenu compte du "var url = <?php echo $adresse_retour; ?>;".


Pouriez vous m'aider, car autant je me débrouille un peu avec php et mysql, qu'avec javascript je ne fais que recopier les fonctions trouvées sur le net.

Merci d'avance à qui m'aidera.
g_fuck Messages postés 269 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 23 août 2011
11 juin 2007 à 08:56
si je me rapelle bien c'est dans des balises
<?php function php2js ($var) {..... ?> que tu dois integrer cette function ... et en suite faire apelle a cette function de la sorte :

<SCRIPT>
var myVar = <?php php2js(taVAR) ?>

</SCRIPT>
planete80 Messages postés 10 Date d'inscription lundi 1 mars 2004 Statut Membre Dernière intervention 30 octobre 2016
9 juin 2007 à 17:41
salut,
heu @¿@ comment il s'integre ce script et dois tu l'enregistrer en .js ou autrement ?


Merci de votre indulgence
g_fuck Messages postés 269 Date d'inscription lundi 29 novembre 2004 Statut Membre Dernière intervention 23 août 2011
23 avril 2007 à 11:16
si je comprend bien cette fonction est a maitre dans les balises php???
et une autre question : pourquoi une fois passe une variable de php a javascript on ne peut pas l'incrementer dans un boucle du genre for(....) ?? je veux dire que a chaque fois que la boucle tourne la variable reprend sa valeur initiale qu'elle avait dans les balises php !!!!
cs_tomboul Messages postés 25 Date d'inscription vendredi 15 septembre 2006 Statut Membre Dernière intervention 26 mai 2009
15 sept. 2006 à 16:41
bravo pour ce code !!!

etant autodidacte et ne developpant qu'en PHP (pour l'instant) j'ai été perturbé par les codes > et <

en lisant j'ai compris que cela équivalait aux entrées et sorties de balise '<' et '>'

ainsi le code de l'exemple donne :

<?php
$tab = array(1, 2, array(3, 4), 5, "salut", True);
$js = php2js($tab); // [1,2,[3,4],5,'salut',true]
?>
<script language="JavaScript">;
var tab = <?php echo $js; ?>;
alert(tab);
</script>;
boudouya Messages postés 1 Date d'inscription jeudi 16 mars 2006 Statut Membre Dernière intervention 17 mars 2006
17 mars 2006 à 10:37
bravo un porceau de code trés utile et de secours
beladel Messages postés 22 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 17 juillet 2009
15 févr. 2006 à 19:46
ça me sauuuuuuuuuuuuuuuve, en fin.

BRAVO!
_ _ _
|\/||_ |_|| | |||
| ||_ | \|_ | ...
naholyr Messages postés 28 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 11 septembre 2006
2 nov. 2004 à 14:49
C'est PHP qui va générer du Javascript.
Exactement comme quand tu ecris:
<script> <?php echo "document.write('salut');"; ?> </script>
engy11 Messages postés 12 Date d'inscription mardi 7 septembre 2004 Statut Membre Dernière intervention 21 avril 2008
2 nov. 2004 à 13:41
Bonjour,
J'ai à peu près compris le code mais l'exemple me parait encore flou (je suis un débutant de JS). Je voudrais savoir l'appel de la fonction se fait comment e dans quel type de fichier : php ou .. js? Merci
naholyr Messages postés 28 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 11 septembre 2006
16 juin 2004 à 19:18
L'inverse est un non-sens puisque PHP travaille en amont de javascript. Envoyer des données à PHP nécessite l'appel d'une page, et donc se fera via une relocation (document.location.href="script.php?var=valeur" par exemple).
atlahack Messages postés 1 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 16 juin 2004
16 juin 2004 à 16:03
Bonjour a tous
Merci pour ce code => super.
J'ai malgré tout une petite question, peu t'on faire l'inverse, et si oui, comment?
Merci d'avance.
[GANDALF Messages postés 1 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 27 avril 2004
27 avril 2004 à 12:17
Excellent code ! Excellent code ! Et encore excellent code ! C'est tout con, mais je n'avais jamais pensé à

var variable = "<?echo $variable?>"

pour récupérer une variable php en javascript. Depuis le temps que je cherchais comment faire...
bob3000 Messages postés 406 Date d'inscription mardi 7 mai 2002 Statut Membre Dernière intervention 2 octobre 2004
5 juil. 2003 à 02:43
super bon!! bravo!
phvr Messages postés 2 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 23 juin 2003
23 juin 2003 à 14:19
Excellent code qui fonctionne très bien, de plus l'exemple (pour une fois ;-) ) est très clair.
Rejoignez-nous