Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
点击按钮运行PHP代码_Php_Html - Fatal编程技术网

点击按钮运行PHP代码

点击按钮运行PHP代码,php,html,Php,Html,当用户单击按钮时,运行PHP脚本的最佳方式是什么?它不会向用户发送任何信息!(PHP脚本只发送PostgreSQL查询。) 我只找到了返回数据的方法。我只想运行它。您正在寻找的(异步javascript)。只需使用javascript函数调用目标脚本,不返回任何内容或不使用返回值执行任何操作。或者,您可以简单地让表单提交到页面上的隐藏iframe。您需要使用Ajax,然后可以更新div等,以便用户知道查询是否正确执行。最基本的方法是使用html表单 <form action="somePH

当用户单击按钮时,运行PHP脚本的最佳方式是什么?它不会向用户发送任何信息!(PHP脚本只发送PostgreSQL查询。)


我只找到了返回数据的方法。我只想运行它。

您正在寻找的(异步javascript)。只需使用javascript函数调用目标脚本,不返回任何内容或不使用返回值执行任何操作。或者,您可以简单地让表单提交到页面上的隐藏iframe。

您需要使用Ajax,然后可以更新div等,以便用户知道查询是否正确执行。

最基本的方法是使用html表单

<form action="somePHPfile.php" method="post">
  <input type="button" value="Run somePHPfile.php" />
</form>

这是我能想到的最好的了。希望这就是你要找的

        /* Function that we create to handle backwards compatiblity to browsers.
    What it does is to try diffrent types of XMLHttpRequests. */
            function getXMLHttp() {
                var xmlHttp;
                try {
                    //Firefox, Opera, Safari, Chrome, IE7+
                    xmlHttp = new XMLHttpRequest();
                } catch (e) {
                    try {
                        //Internet Explorer 6
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                            //Internet Explorer 5
                            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {
                            return false;
                        }
                    }
                }
                return xmlHttp;
            }
            // Here, we send the request
            function send() {
                /* We say the variable xmlHttp is the function 
                where we try the diffrent XMLHttpRequests*/
                var xmlHttp = getXMLHttp();
                    // We open your PHP file...
                xmlHttp.open("POST", "yourphpfile.php", true);
                    // ...and send it to the server
                xmlHttp.send();
            }
简短一点
因为您没有向用户返回任何内容,所以使用POST而不是GET。它向服务器发送一个请求,以获取该文件。正如你在问题中所说,有东西被发送到PostgreSQL服务器。但是,该PHP脚本是在支持PHP的托管服务器上运行的。

我不这么认为。表单是实现这一点的最基本方式。@Vap0r-我认为OP不希望在单击按钮时重新加载页面,并且考虑到大多数人更喜欢AJAX而不是隐藏的iframe提交(尽管我仍然偶尔使用它们)。无论如何,我已经在我的答案中附加了这个建议作为替代解决方案。看起来OP发布到的文件根本没有向浏览器发送任何输出,这就是他不想直接提交的原因。。所以,是的,AJAX或iframe将是他唯一的选择。再多一点信息就好了,您需要向脚本发送哪些数据然后看看HTML表单和Ajax@TimPost这是一个简单的脚本,需要在按下按钮时运行。这是一个点击计数器。啊,我明白你的意思。。“返回任何内容”的意思是它不向浏览器发送任何输出,因此向其提交表单不是一个选项。为了清晰起见,您可能需要进行编辑,当许多人认为“return”时,他们认为它是函数的返回值。请重新阅读。我只是想运行一个PHP文件,在另一个页面上做一些事情。我不喜欢使用jQuery。我喜欢香草口味@罗布,你觉得怎么样?使用1431627,然后不要使用它。第一个代码框是独立的,在没有jQuery的情况下工作。@user1431627我为您提供了我的答案。@user1431627在我看来这是一个很好的方法。但如果你有疑问,可以问其他人,或者把这个问题设为悬赏。现在,对IE5的支持可能会比对IE6的支持更确定。
        /* Function that we create to handle backwards compatiblity to browsers.
    What it does is to try diffrent types of XMLHttpRequests. */
            function getXMLHttp() {
                var xmlHttp;
                try {
                    //Firefox, Opera, Safari, Chrome, IE7+
                    xmlHttp = new XMLHttpRequest();
                } catch (e) {
                    try {
                        //Internet Explorer 6
                        xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
                    } catch (e) {
                        try {
                            //Internet Explorer 5
                            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                        } catch (e) {
                            return false;
                        }
                    }
                }
                return xmlHttp;
            }
            // Here, we send the request
            function send() {
                /* We say the variable xmlHttp is the function 
                where we try the diffrent XMLHttpRequests*/
                var xmlHttp = getXMLHttp();
                    // We open your PHP file...
                xmlHttp.open("POST", "yourphpfile.php", true);
                    // ...and send it to the server
                xmlHttp.send();
            }