Maison > Questions et réponses > le corps du texte
P粉1119279622023-08-23 15:50:54
Pour déterminer pourquoi le code PHP ne fonctionne pas dans le code JavaScript, nous devons comprendre ce que sont les langages côté client et côté serveur, et comment ils fonctionnent.
Langages côté serveur (comme PHP, etc.) : Ils récupèrent les enregistrements de la base de données, maintiennent l'état des connexions HTTPsans état et effectuent de nombreuses opérations qui nécessitent une sécurité. Ils résident sur le serveur et le code source de ces programmes n'est jamais exposé aux utilisateurs.
Vous pouvez donc facilement voir que le langage côté serveur gère la requête HTTP et la traite, comme @deceze l'a dit,PHP s'exécute sur le serveur et génère du code HTML, et éventuellement du code JavaScript, et celui-ci est envoyé en réponse au côté client. , où HTML est interprété et JavaScript est exécuté.
D'un autre côté,un langage côté client (comme JavaScript) réside et s'exécute dans le navigateur. Script côté clientfait généralement référence à un programme informatique sur le Web qui est exécuté par le navigateur Web de l'utilisateur plutôt que par le serveur.
JavaScript est visible par l'utilisateur et peut être facilement modifié, donc pour des problèmes de sécurité, nous ne pouvons pas compter sur JavaScript.Ainsi, lorsque vous effectuez une requête
HTTP sur le serveur, le serveur lit d'abord attentivement le fichier PHP pour voir s'il y a une tâche à effectuer et envoie une réponse au client. Encore une fois, comme @deceze l'a dit, *une fois que PHP aura fini de générer la réponse, le script se terminera et rien ne se passera sur le serveur jusqu'à ce qu'une nouvelle requête HTTP soit reçue. *
Alors, que dois-je faire si je dois appeler PHP ? Cela dépend de la manière dont vous devez le faire : en rechargeant la page ou en utilisant un appel AJAX.
Bon matériel de lecture :
P粉1037395662023-08-23 09:17:40
Votre code est divisé en deux parties complètement indépendantes, côté serveur et côté client.
|
---------->
HTTP请求
|
+--------------+ | +--------------+
| | | | |
| 浏览器 | | | 网络服务器 |
| (JavaScript) | | | (PHP等) |
| | | | |
+--------------+ | +--------------+
|
客户端 | 服务器端
|
<----------
HTML, CSS, JavaScript
|
Ces deux parties communiquent via des requêtes et réponses HTTP. PHP s'exécute sur le serveur et génère du code HTML et éventuellement du code JavaScript, qui est envoyé en réponse au client, où il interprète le HTML et exécute le JavaScript. Une fois que PHP a fini de générer la réponse, le script se termine et rien ne se passe sur le serveur jusqu'à ce qu'une nouvelle requête HTTP arrive.
Le processus d'exécution de l'exemple de code est le suivant :
<script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script>
Dans la première étape, PHP exécute tout le code entre les <?php ?>
tags. Les résultats sont les suivants :
<script type="text/javascript"> var foo = 'bar'; var baz = 42; alert(baz); </script>
file_put_contents
调用没有产生任何结果,它只是将" + foo + "写入文件中。而<?php echo 42; ?>
Le résultat de l'appel est la sortie "42", qui correspond désormais à l'endroit où se trouvait le code d'origine.
Le code HTML/JavaScript résultant est maintenant envoyé au client, où il est évalué. alert
调用起作用,而foo
La variable n'est utilisée nulle part.
Tout le code PHP est exécuté sur le serveur avant que le client ne commence à exécuter du JavaScript. Il n'y a plus de code PHP dans la réponse pour interagir avec JavaScript.
Pour appeler du code PHP, le client doit envoyer une nouvelle requête HTTP au serveur. Cela peut être réalisé de trois manières possibles :
Voici une question décrivant ces méthodes plus en détail
Vous pouvez également utiliser JavaScript pour que le navigateur ouvre une nouvelle page en utilisant window.location
ou soumettre un formulaire, simulant les possibilités 1 et 2.