当点击一个按钮时,我需要运行一些
PHP功能.我知道这不应该是PHP的使用,而是js应该这样做,但是当用户询问它时,我的功能是从服务器收集数据.具体来说,它获取一些用户数据并将其写入文件,用户应该决定收集哪些数据.
我该怎么做?我看到了 Run PHP File On Button Click的帖子,但我仍然不知道如何使用它.
我正在学习,所以请不要太苛刻
我该怎么做?我看到了 Run PHP File On Button Click的帖子,但我仍然不知道如何使用它.
我正在学习,所以请不要太苛刻
我已经尝试过onclick()和各种各样的东西,但没有导致任何有用的东西
解决方法
每当您通过HTTP请求(即GET,POST,PUT)访问它时,都会运行PHP文件.
您可以使用JQuery / Ajax在按钮点击上发送请求,甚至只需更改浏览器的URL即可导航到PHP地址.
根据POST / GET中发送的数据,您可以有一个运行不同功能的switch语句.
通过GET指定功能
您可以在此使用代码:How to call PHP function from string stored in a Variable以及switch语句,根据发送的数据自动调用相应的功能.
所以在PHP方面你可以有这样的东西:
<?PHP //see http://PHP.net/manual/en/function.call-user-func-array.PHP how to use extensively if(isset($_GET['runFunction']) && function_exists($_GET['runFunction'])) call_user_func($_GET['runFunction']); else echo "Function not found or wrong input"; function test() { echo("test"); } function hello() { echo("hello"); } ?>
您可以使用地址栏做最简单的获取请求作为测试:
http://127.0.0.1/test.PHP?runFunction=hellodddddd
结果是:
Function not found or wrong input http://127.0.0.1/test.PHP?runFunction=hello
结果是:
hello
发送数据
通过JQuery获取请求
见:http://api.jquery.com/jQuery.get/
$.get("test.cgi",{ name: "John"}) .done(function(data) { alert("Data Loaded: " + data); });
POST请求通过JQuery
见:http://api.jquery.com/jQuery.post/
$.post("test.PHP",{ name: "John"} );
通过Javascript位置获取请求
参见:http://www.javascripter.net/faq/buttonli.htm
<input type=button value="insert button text here" onClick="self.location='Your_URL_here.PHP?name=hello'">
阅读数据(PHP)
请参阅PHP Turotial阅读文章并获得:http://www.tizag.com/phpT/postget.php
有用的链接
http://php.net/manual/en/function.call-user-func.php
http://php.net/manual/en/function.function-exists.php