0
<html>
<body>
<button type="button" onclick="myFunc()">Click</button>
</body>
</html>
<?php
    function myFunc() {
        echo "Hello world";
    }
?>

我编写了这样的代码并对其进行了测试,但什么也没发生。那么是否有可能这样做,或者我应该只使用 JavaScript 来代替?

4

2 回答 2

4

改用javascript。PHP 并不打算这样做。

PHP 在服务器端运行,而 javascript 在客户端运行。

<html>
<head>
    <script>
        function myFunc(){
            document.getElementById('content').innerHTML = "Hello world";
        }
    </script>
</head>
<body>
<button type="button" onclick="myFunc()">Click</button><div id="content"></div>
</body>
</html>

jsFiddle

为了简单地理解它,PHP 解释器首先预处理你的 PHP 文件(因此它的名字 - P HP:H ypertext P reprocessor),并解释其中的任何内容<?php?>标记并将其转换为 HTML、响应头等等......

在您的情况下,您定义了一个 PHP 函数,仅此而已。该函数未使用 - 但解释器不在乎。

之后,服务器将预处理后的 HTML 发送到客户端,PHP 标记内的所有内容都会被剥离。

客户端(主要是 Web 浏览器)将按原样解析 HTML。客户端根本不会收到任何PHP,因为它们在发送之前就已经消失了,当然,浏览器也不会看到您的 PHP 函数。

是的,如果 PHP 依赖于客户端输入,您必须使用表单提交、Ajax 或类似的东西。

于 2013-01-27T10:22:23.357 回答
0

您必须为此执行 JavaScript,所有 PHP 代码仅在服务器端执行。

如果您需要来自 PHP 文件的一些动态信息,则必须通过 Ajax 调用它(同样是 JavaScript)

于 2013-01-27T10:23:25.563 回答