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