Причина, по которой PHP-скрипты не работают в веб-браузере, заключается в только потому, что веб-браузеры не поддерживают PHP (по крайней мере, я не знаю ни одного). Этот факт не так тривиален, как можно подумать.
И это может звучать тревожно, поэтому взгляните на спецификации HTML на веб-сайте W3C: HTML 5 и HTML 4.01 (поскольку в нем больше подробных примеров). Что вы можете найти? Эти сценарии могут быть написаны на языках, отличных от JavaScript!
Вот пример из документации HTML 4.01 (раздел под названием Указание языка сценариев ).
(...)
Вот более интересный обработчик окна:
<SCRIPT type="text/javascript">
function my_onload() {
. . .
}
var win = window.open("some/other/URI")
if (win) win.onload = my_onload
</SCRIPT>
В Tcl это выглядит так:
<SCRIPT type="text/tcl">
proc my_onload {} {
. . .
}
set win [window open "some/other/URI"]
if {$win != ""} {
$win onload my_onload
}
</SCRIPT>
Сценарий, написанный на Tcl, отлично подходит для ОК. в HTML! Как насчет PHP? HTML5 документация говорит:
Пользовательский агент, как говорят, поддерживает язык сценариев, если каждый
Компонент типа блока скрипта является ASCII без учета регистра
соответствие для соответствующего компонента в строке типа MIME
язык сценариев, который реализует пользовательский агент.
(...) Агенты пользователей могут поддерживать другие типы MIME для других языков ,
но не должен поддерживать другие типы MIME для языков в списке
выше. Пользовательские агенты не обязаны поддерживать перечисленные языки
выше.
Таким образом, только веб-браузер (пользовательский агент) может поддерживать PHP или нет. Играя на примере W3C, веб-браузер с поддержкой PHP мог принять что-то вроде этого.
<script type="text/php">
function my_onload() {
. . .
}
$win = $window->open('some/other/URI');
if ($win !== false)
$win->onload = 'my_onload';
</script>
Итак, причина, по которой люди задают такие вопросы, не в том, что они не знают, как работает PHP. Это потому, что они не понимают веб-технологии в целом. Они терпят неудачу в момент, который требует понимания того, что, где и почему должно быть выполнено.