begin process at 2012 05 29 07:31:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

Communication JS PHP : fonctionnement...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Communication JS PHP : fonctionnement...

mardi 19 février 2008 à 12:06:51 | Communication JS PHP : fonctionnement...

M000004965

Bonjour à tous,

C'est re moi et cette foie ci je m'attaque aux échanges de variables entre JS et PHP.
Pour un autodidacte débutant ce n'est pas simple mais j'ai trouvé bonnes pistes...

1) j'avais cru comprendre, au travers des sources étudiées que les scripts JS devaient
obligatoirement se situer dans la balise HEAD. Il semblerait que ce ne soit pas un impératif.
Quelqu'un pourrais me le confirmer

En effet j'ai trouvé ceci (et je soupçonne Bultez d'être derrière ces explications ) :

javascript et php, pas seulement 2 langages différents
javascript se déroule sur la machine client
php sur le serveur

php génére du html, javascript ... et l'envoie vers client
l'utilisateur voit une page htm, clique par exemple et l'action associé en javascript appelle php

==============================
Transmettre des données de PHP vers Javascript
==========
1°) Du PHP dans le Javascript
Exemple : afficher la date du serveur
<script language="Javascript">
document.write('date serveur ' + '<?php echo date("d/m/Y"); ?>');
</script>
==========
2°) Du Javascript dans le PHP
le même exemple :
<?php
echo "<script language='Javascript'>";
echo "<!--\n";
echo "document.write('date serveur " . date("d/m/Y") . "');\n";
echo "// -->";
echo "</script>\n";
?>
==============================
Javascript au PHP
nécessaire de recharger la page
==========
1°) Méthode POST avec champs dans un formulaire
<form name="formulaire" action="page.php" method="POST">
<input type="hidden" name="p1" value="??">
<input type="text" name="p2" value="??">
...
<input type=submit value="go">
</form>
en cliquant sur bouton "go" on enclanche "page.php"
qui pourra traiter $p1,$p2...
bien sur, ce formulaire peut être complètement caché,
envoyé par javascript ....
==========
2°) Méthode GET avec paramètres dans l'URL
par exemple
location.href = location.href + "p1='valeur' " ;
rappelle la page en cours en y rajoutant " ?p1='valeur'
Ce que PHP récupère en utilisant : $_GET["p1"]
==============================
sûr de ne pas être exhaustif, peut-être d'autres
possibilité.



Je me pause donc la question :

Est-il possible d'utiliser l'exemple
 
2°) Du Javascript dans le PHP
<?php
echo "<script language='Javascript'>";
echo "<!--\n";
echo "document.write('date serveur " . date("d/m/Y") . "');\n";
echo "// -->";
echo "</script>\n";
?>

n'importe où dans le corps d'une page php

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
mardi 19 février 2008 à 12:50:45 | Re : Communication JS <> PHP : fonctionnement...

bultez

Membre Club
Réponse acceptée !


>>je m'attaque aux échanges de variables entre JS et PHP.
    il n'y en a pas         ;o))

>>Pour un autodidacte débutant ce n'est pas simple
    je suis bien d'accord, j'ai eu du mal !
    tant qu'on n'a pas compris "comment ça se passait"

>>j'avais cru comprendre, au travers des sources étudiées que les scripts JS devaient
>>obligatoirement se situer dans la balise HEAD.
    pas du tout.
    par convention (?), pour plus de clarté (?)....
        généralement, on y met les function
    le html/javascript est interprété "bêtement" par les navigateurs,
       ligne après ligne, en séquance ( sauf les function )

>>En effet j'ai trouvé ceci (et je soupçonne Bultez d'être derrière ces explications )
    vil plagiat de ce que j'ai trouvé ailleurs !

>><?php
>>echo "<script language='Javascript'>";
>>echo "<!--\n";
>>echo "document.write('date serveur " . date("d/m/Y") . "');\n";
>>echo "// -->";
>>echo "</script>\n";
>>?>
>>n'importe où dans le corps d'une page php

    qu'est-ce que cela va faire ?
    le php va créer une page html avec
...
<script language='Javascript'>
<!--
document.write('date serveur le résultat de date du php");
// -->
</script>
...
    là où tu fais les echo et l'envoyer vers le client   point barre

    tout ce qui n'est pas entre <?php et ?>   est envoyé tel quel.




                Cordialement            Bul         [mon Site]     [M'écrire]
mardi 19 février 2008 à 15:58:38 | Re : Communication JS PHP : fonctionnement...

M000004965

Oupss,

Dans un premier temps, il semble que je n'ai pas posté au bon endroit, toutes mes excuses !
Pas évident de savoir où poster quand on écrit une appli php qui intègre du JS et que c'est le JS qui pause problème.

En effet, et je l'ai bien précisé, les explications que j'ai posté précédemment, sont issues d'un autre site. Désolé pour cette infidélité, mais quand on cherche à apprendre et comprendre, toutes les informations sont bonnes à prendre.
Elles sont issues d'un post de 2004 posté par un certain Bul (d'où le fait que j'ai pensé à Bultez. J'espère n'avoir froissé personne !) Si j'ai posté ici, c'est tout simplement pour avoir un avis sur le contenu.
Sur CS je n'ai trouvé que des solutions passant par des url pour récupérer le contenue de variables php.

Je rédige au propre et en clair mon soucis et je poste un nouveau sujet.

Autodidact, je ne demande qu'à apprendre... Merci de votre aide
mardi 19 février 2008 à 22:13:37 | Re : Communication JS PHP : fonctionnement...

malalam

Administrateur CodeS-SourceS
Hello,

quelques précisions :
- en effet, <script... /> ne se trouve pas forcément au sein d'un élément <head.../>. Il peut y être. Et en effet, je penser que cx'est surtout par soucis de clarté qu'on met généralement les scripts ici, plutôt que d'en trouver un peu partout, éparpillés dans le document html. Une autre raison plus ancestrale est sans doute que normalement, le contenu de l'élément <head> ne devrait pas être affiché par le navigateur (ça ne veut pas dire que c'était une obligation...), or, on ne veut pas voir son code de scripting affiché tel quel dans le navigateur, généralement ;-)

- concernat le point crucial, question d'ailleurs redondante, à savoir l'échange de "variables" entre php et js (et inversement), il faut surtout comprendre une chose : php s'exécute côté serveur et javascript côté navigateur. Le lire, c'est bien...mais le comprendre réellement, c'est mieux! Je vais schématiser largement: que se passe-til quand on tape (ou demande via un lien ou autre) une adresse dans son navigateur : celui-ci va interroger le serveur sur lequel se trouve cette page (je passe tout ce qui concerne les problématiques réseau hein). celui-ci analyse la demande et la traite en fonctipon de ce qu'il y a dans la page demande : là, on aura généralement du script serveur (php, ruby ou autre). Ce script est exécuté par le serveur, et génère une sortie (en général, du html...mais ça peut être aussi de l'image, du csv, ou n'importe quoi d'ailleurs!). Ensuite la page générée est renvoyée au navigateur qui, si il la comprendre, l'analyse à son tour et "l'exécute". C'est alors que de l'"éventuel javascript sera exécuté. Cela implique que php s'éxécute AVANT javascript. Et que donc...forcément, php ne peut pas avoir connaissance de javascript! C'est pour cela qu'envoyyer une variable javascript à php n'est pas si simple : javascript s'éxécutant après php, il ne peut pas lui passer de variable. Il faut donc retourner vers le serveur. Et ça, globalement, cela se fait via les méthodes GET ou POST, et donc via un lien ou un formulaire pour rester dans les cas communs.
Par contre, l'inverse est possible : si php s'exécute avant javascript, rien n'empêche javascript de comprendre une variable php. En fait, c'est plus pernicieux que ça : echo $var; va "afficher" le contenu de la variable php $var. Javascript ne comprend pas $var...et ne peut y accéder puisque php ne fait que renvoyer ujne sortie au navigateur. Et la sortie dans ce cas peut se faire ainsi : echo $var;
Donc ce que l'on peut très bien faire, en imaginant que $var = 5 :
<script type="text/javascript">
function addOne() {
    var jsVar = <?php echo $var; ?> + 1;
}
</script>
et la fonction aura une variable jsVar qui vaudra 6.

C'est un exemple débile hein...et pas très propre qui plus est. Mais j'espère que cela t'aidera un peu à comprendre les interactions entre php et js (ou tout autres langages serveurs vs langages clients).


Cette discussion est classée dans : javascript, date, page, php, echo


Répondre à ce message

Sujets en rapport avec ce message

PHP et Javascript [ par romagnoli64 ] Bonjour à tout le monde! J'espère que vous pourrez m'aider!! Voilà mon problème, j'ai un fichier "test.php3", dans lequel une fonction en Javascript e comment faire un lien en php ? [ par coolboy78 ] Bonjour voila je débute en php, et donc jaimerai renvoyé les utilisateur dans différente page selon leur identification.voici la parti ou il ya un pb probleme php et explorer [ par sirspycho ] j'ai programmé un site avec un ami. on a utilisé le php, le javascript et comme base de donnée mysql.Pour travailler en local (nous n'avions pas encor Problème php javascript avec window. [ par beios ] Bonjour !Débutant sur le chat et en php javascript cherche de l'aide.Lorsque je clique sur le lien titre sous la photo ce n'est pas l'enregistrement Checkbox : PHP + Javascript [ par charlotte208 ] Bonjour,J'ai un petit soucis de compatibilité entre ces deux langages.En effet, j'ai des checkbox dans une première page et j'utilise la technique du pb dans mon code [ par attentio ] salut !!!bon ...G une petit soucis dans mon code de la page formulaire.php.je vous explique ... G une premiere page index.php qui me renvoie une liste SESSION = Problèmes [ par Developpator ] Hello, j'ai un petit problème avec ma session pour protéger des pages, est-ce que quelqu'un peut m'aide !!!!Première page: celle du login?>Document sa recuperer l'url de la page a partir d'une autre page [ par db2p ] hellovoila j'ai une page php: index.phpen bas de cette page je mets un include genreinclude 'date_modif.php';le fichier 'date_modif.php' doit afficher Probleme de script d'identification (help !) [ par floxone ] Salut à tous,J'ai un problème avec un script utilisant une identification au travers un header.LE PROBLEME : la fenetre de saisie s'ouvre 2 fois ! J'a Passage de multi-variables dans URL [ par olerien ] bonjour,Je souhaite faire passer des variables dans url (pas de pb) mais ma page clients.php où ce trouve un selecteur dynamique est déjà appellé par


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,328 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales