在按钮中调用PHP函数

时间:2014-07-01 21:21:33

标签: javascript php html function

我有一个带有函数的php类,我想用一个按钮的onclick事件来调用该函数。我想知道是否有任何方法可以做到这一点。这是代码:

<?php 
class myClass{
  function myClass(){
    echo "myClass called";
  }
}
?>
<html>
<title>sample project</title>
<body>
<form action="">
<input type="button" value="click" onclick="myClass()">
</form>
</body>
</html>

如果你能帮助我,我将不胜感激。
谢谢

3 个答案:

答案 0 :(得分:2)

你可以这样做...... (但这不建议)

<?php 
class myClass{
  function myClass(){
    echo "myClass called";
  }
}

if($_POST['go']){
    $foo = new myClass();
}
?>
<html>
    <title>sample project</title>
    <body>
    <form action="" methode="post">
        <input type="hidden" name="go" value="1" />
        <input type="submit" value="click" />
    </form>
    </body>
</html>

但在你的情况下你应该使用ajax,将php与html和/或javascript混合起来并不是很好的编码。

答案 1 :(得分:2)

我不打算详细介绍服务器端和客户端编程之间的区别,因为它超出了这个问题的范围。

简短的回答是你无法做到。 PHP在interpreter上执行。您为网页提供服务的客户端可能有PHP解释器。

您正在寻找的答案是JavaScript,它也可以在解释器上执行,但与PHP不同,它内置于所有现代浏览器中。

高级解决方案是将PHP和HTML拆分为单独的文件。您提供HTML,其中包含Javascript,然后调用您的PHP脚本。

在您的HTML中,您可以在网页中包含JQuery:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script></head>

现在您可以访问各种有用的Javascript好东西了。

下一步是在可公开访问的URL上提供PHP脚本。 e.g。

http://example.com/myphpscript.php

里面会包含你的代码:

<?php 
class myClass{
    function myClass(){
        echo "myClass called";
    }
}
$myClassInstance = new myClass();
?>

假设您运行的版本低于PHP 5.3.3,myClass()被视为构造函数。也就是说,在MyClass实例化时会自动调用它,即new MyClass

如果您运行的是PHP 5.3.3或更高版本,只需将函数myClass()的名称更改为__construct()

完成此步骤后,是时候编写一些Javascript了。您需要做的是使用Javascript来注册单击按钮时侦听的事件侦听器,并在发生这种情况时执行一些Javascript代码。

我不想复制答案,因此您可以在此处找到答案:ajax post within jquery onclick

答案 2 :(得分:1)

因此,这是Web开发的一个问题,因为html / css / javascript是客户端,而PHP是服务器端。正确地说你仍然可以用ajax实现你的目标,但我使用一个简单的jQuery技巧来调用PHP代码。这是:

将此添加到HTML

<div class="holder"></div>

然后是CSS

.holder {
    display: none;
}

然后是javascript

function myClass() {
    $('.holder').load('path/to/php/file');
}

php文件返回的任何HTML(如echo或print_r将被放入holder div中,但不会显示。