在html按钮上单击运行PHP功能

当点击一个按钮时,我需要运行一些 PHP功能.我知道这不应该是PHP的使用,而是js应该这样做,但是当用户询问它时,我的功能是从服务器收集数据.具体来说,它获取一些用户数据并将其写入文件,用户应该决定收集哪些数据.
我该怎么做?我看到了 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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些