Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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
Javascript 单击时调用PHP函数<;按钮类型=";提交&燃气轮机;_Javascript_Php_Jquery - Fatal编程技术网

Javascript 单击时调用PHP函数<;按钮类型=";提交&燃气轮机;

Javascript 单击时调用PHP函数<;按钮类型=";提交&燃气轮机;,javascript,php,jquery,Javascript,Php,Jquery,我在按钮上插入了一个onclick,但不知道哪里出了问题,但似乎每次加载页面时都会触发该函数 单击按钮本身时,如何仅调用函数 <button type="submit" class="btn btn-primary" onclick="<? $query = DB::update('ads')->set(array('sale_agreed' => '999'))->where('id_ad', '=', $msg_thread->ad->id_ad)-

我在按钮上插入了一个onclick,但不知道哪里出了问题,但似乎每次加载页面时都会触发该函数

单击按钮本身时,如何仅调用函数

<button type="submit" class="btn btn-primary" onclick="<? $query = DB::update('ads')->set(array('sale_agreed' => '999'))->where('id_ad', '=', $msg_thread->ad->id_ad)->execute(); ?>"><?=_e('ACCEPT This Offer')?></button>  

您不能将php函数添加到客户端按钮单击中


您应该让PHP检查页面是否已提交,然后运行函数

您不能从客户端使用PHP函数。属性“onclick”触发javascript函数,而不是php函数。 为了使用onclick执行php函数,必须向服务器发出Ajax请求

$('.button').click(function() {
    $.ajax({
      method: "POST",
      url: "some.php",
      data: { name: "John", location: "Boston" }
   })
    .success(function( msg ) {
         alert( "Data Saved: " + msg );
      });
});

在“url”变量中,您必须将url放入php脚本,数据对象包含要发送到脚本的所有php$\u请求参数。脚本完成后将执行success函数。

按钮单击是客户端,而PHP是服务器端,但您可以使用
AJAX

$('.button').click(function() {

 $.ajax({
  type: "POST",
  url: "some.php",
  data: { name: "John" }
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});    

    });
在php文件中:

    <?php
function abc($name){
//your code here
}
 ?>

您可以使用jQuery Ajax来执行此操作。 添加一个带有一些id的按钮

<button id="click-button"></button>
在您的PHP
remote file.PHP中

<?php
if(isSet($_POST['token']) && $_POST['token'] == 'buttonclick'){
    $result = myFunction();
    echo $result;
}else{
    echo "fail";
}

function myFunction(){
    // Perform your DB actions...
    return true; //Return your data
}
?>


您不能像以前那样调用php函数。您应该了解jquery/javascriptUse的基本知识。这样,您就不能从客户端调用服务器端函数了。您应该使用AJAX和JS。只需提交表单并在后端执行db操作即可。我不知道问题为什么会解决!。用这个
@accounter>替换你的代码,我感觉你用这个相当简单的解决方案走上了正确的轨道,尽管它似乎还不适合我。。。我还尝试了语句if(isset($\u POST*而不是*!empty($\u GET,但仍然不会为我这么做,不知道为什么…,进一步输入?为什么JS?提交表单会提出请求…非常好的观点更新了答案。第一次很好。非常感谢;-)
<?php
if(isSet($_POST['token']) && $_POST['token'] == 'buttonclick'){
    $result = myFunction();
    echo $result;
}else{
    echo "fail";
}

function myFunction(){
    // Perform your DB actions...
    return true; //Return your data
}
?>