Изменение переменных сеанса PHP с помощью JavaScript

У меня есть некоторые неявные PHP-функции, которые должны быть вызваны для определенных фронтовых событий; например, button onclick s. Таким образом, это должно соответствующим образом изменить мою переменную PHP SESSION. Однако обе функции, setAlan() и setMark(), по-видимому, получают вызов, даже если я просто хочу, чтобы первый выполнялся.

<!--?php
 session_start();

 function setAlan() {
 $_SESSION['passed_user']='alan';
 }
 function setMark() {
 $_SESSION['passed_user']='mark';
 }
?-->



<div>
 <div><h2>Select a User</h2></div>
 <div>
 
 
 
 </div>
</div>

Я не понимаю, почему setMark() вызывается автоматически? По тому, что я написал, я считаю, что я только определяю функции PHP, а не называю их; Я использую JS для этого. Я что-то упускаю? Заранее спасибо!

1 ответ

Сначала выполняется PHP, серверная. После того, как PHP сделан, ваш браузер (клиент) получает результат, Javascript выполняется на клиенте, поэтому после завершения PHP.

Вы не можете смешивать javascript и PHP, как вы это делали:

Однако вы можете использовать Javascript для вызова скрипта PHP на стороне сервера с помощью ajax (асинхронный JavaScript и XML).

http://www.w3schools.com/ajax/default.ASP

licensed under cc by-sa 3.0 with attribution.