2014-10-07 2 views
1

Я встроил javascript в php-код. Это было необходимо после проверки некоторого значения переменной сеанса php, и по результату я использую некоторые JS в php, чтобы решить, будут ли отображаться некоторые элементы. Вот пример:Вставка javascript в php-код

<?php 

if ($_SESSION['myVar']==2) 
     { echo '<script type="text/javascript" > 

      document.getElementById("element1").style.visibility = "hidden"; 
     document.getElementById("element2").style.visibility = "hidden"; 

      </script>'; 
?> 

Код работает идеально для меня. Мой вопрос: является ли JS выполненным на веб-сервере (поскольку он встроен в php-код), инициализируя страницу до ее отправки в браузер клиента (и это то, что я думаю), или часть php работает на сервере , а JS запускается у клиента позже?

Я знаю, что в нормальных ситуациях JS работает на браузере клиента, но подозрительно в этом случае

Я младший программист и любая помощь приветствуется, спасибо заранее.

+2

Никогда не сочетайте серверные и клиентские скрипты. У меня есть худший опыт в этом. Если вы действительно хотите использовать PHP в проверках клиентов, используйте вызовы AJAX и получите JSON от PHP для использования в javascript. –

ответ

1

Javascript is всегда выполнен в браузере клиента. PHP-код просто вставляет javascript-код в виде блока текста, и браузер читает его как код.

1

JavaScript не выполняется на стороне клиента, независимо от того, что, но ваш PHP код, который вы только что вставили код, чтобы сделать его доступным для браузера, чтобы выполнить его ...

1

Php посылает JavaScript обратно Клиенту в ответ, а затем на стороне клиента выполняется JavaScript. Прочтите этот ОТВЕТ 123, и у вас может быть более подробное объяснение >>PHP & Embedded JavaScript Behavior. Спасибо

-1
<?php 

if ($_SESSION['myVar']==2) 
     { 
?> 
<script type="text/javascript" > 
     document.getElementById("element1").style.visibility = "hidden"; 
     document.getElementById("element2").style.visibility = "hidden"; 
</script> 
<?php } ?> 
+0

Это не отвечает на вопрос @ the4thDimension. – Nippey

Смежные вопросы