从html按钮单击调用PHP函数

时间:2014-02-23 04:34:43

标签: javascript php html

我创建了一个php注册页面,该页面在页面首次加载时将用户的数据从上一页保存到我的数据库,并且还显示一个按钮,指示用户在单击它时在外部站点上付费。我想编辑页面,只在用户点击付费按钮时将数据保存到数据库。我是否可以通过此按钮单击事件调用PHP函数或PHP页面来处理此处理,并让用户继续在外部站点上进行付款?我正在使用paypal立即购买按钮,它基本上是一个隐藏输入值的表单。我猜我必须使用Ajax,但我不知道如何。

修改 只是为了澄清我想做什么。我想在付款前暂时将注册数据保存到我的数据库中,一旦付款,数据将被转移到另一个表,所以我知道它已经完成了。我想在点击付费按钮时保存临时注册数据。具有此付款按钮的同一页面还会在加载时将临时注册数据保存到数据库。我想改变它,所以数据不会保存,直到用户至少点击付费。否则,如果由于某种原因用户在此处停止,我最终会得到一个充满未完成注册的数据库。

修改 这是我的尝试,但它似乎没有起作用。

tempregister1.php

<?php

$fname=$_POST['fname];

echo' <!DOCTYPE html>  
  <html lang="en"> 
  <head> 
  <title></title>
  <meta charset="utf-8">

  <script>
    $(#submitbtn).click(function() {

     var fname = '.$fname.';     
      $.ajax({
      type: "POST",
      url: "tempregister2.php",
      data: {fname:fname}
     })    
   });
  </script>
 </head>
 <body>
 <form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
 <input type="image" name="submit" id="submitbtn" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" >
 </form>
 </body>
 </html> 
 '; //end php echo
 ?>

tempregister2.php

<?php

$fname=$_POST['fname']; 

require_once('db.php');
$conn = db_connect();

$result = $conn->prepare("INSERT into temp (FirstName) VALUES(?)");
$result -> bind_param('s',$fname);
$result->execute();

?>

修改 问题解决了: 我需要在tempregister1.php

中的脚本之前添加它
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $(#submitbtn).submit(function() {

不确定它是否有所作为,但我也将其从点击事件更改为提交事件并更改了var fname = $('。$ _ POST ['fname']。'); to var fname ='。$ _ POST ['fname']。';
感谢所有帮助过的人

2 个答案:

答案 0 :(得分:1)

你需要使用ajax来调用php页面函数。您可以将数据从HTML传递到PHP,然后执行所需的操作并重定向到任何外部站点。

将此点击功能中的数据发送给PHP。你需要给ID表单字段,然后需要在JavaScript函数中选择它们。

 $('.button').click(function() {
     var email= $('#email'); // example email field
     $.ajax({
        type: "POST",
        url: "some.php",
        data: { name: "John" , email:email }
   }).done(function( msg ) {
       alert( "Data Saved: " + msg );
   });    
});

答案 1 :(得分:0)

<强> HTML

<input type='button' id='yourButton' value='Button' >

AJAX(使用Jquery)AJAX DOCUMENTATION

$(document).ready(function(){
$('#yourButton').click(function(){ // Your Click Event here
$.ajax({

//your AJAX call here


      });



});
});

<强> PHP

<?php

/*Your php Code goes here*/

?>