<html>
<body>
<button type="button" onclick="myFunc()">Click</button>
</body>
</html>
<?php
function myFunc() {
echo "Hello world";
}
?>
我编写了这样的代码并对其进行了测试,但什么也没发生。那么是否有可能这样做,或者我应该只使用 JavaScript 来代替?
改用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>
为了简单地理解它,PHP 解释器首先预处理你的 PHP 文件(因此它的名字 - P HP:H ypertext P reprocessor),并解释其中的任何内容<?php
并?>
标记并将其转换为 HTML、响应头等等......
在您的情况下,您定义了一个 PHP 函数,仅此而已。该函数未使用 - 但解释器不在乎。
之后,服务器将预处理后的 HTML 发送到客户端,PHP 标记内的所有内容都会被剥离。
客户端(主要是 Web 浏览器)将按原样解析 HTML。客户端根本不会收到任何PHP,因为它们在发送之前就已经消失了,当然,浏览器也不会看到您的 PHP 函数。
是的,如果 PHP 依赖于客户端输入,您必须使用表单提交、Ajax 或类似的东西。
您必须为此执行 JavaScript,所有 PHP 代码仅在服务器端执行。
如果您需要来自 PHP 文件的一些动态信息,则必须通过 Ajax 调用它(同样是 JavaScript)