如何使用PHP将输入表单和激活函数记录到文本文件中

时间:2015-06-07 06:26:33

标签: javascript php jquery fwrite

我想将用户输入表单记录到服务器上的文本文件中, 同样,onclick按钮触发一个函数从另一个服务器提供状态结果,这很好。如何让按钮触发2功能正常。如果我使用提交类型按钮,则返回功能不起作用。 如何通过一次点击来解决这些问题?

html:

<form action="" method="POST"><input class="input" type="text" name="search" id="search" value="" size="13" height="20" width="150" maxlength="13" id="ItemCodeNoPopup" dir="ltr" autocomplete="on">
<input type="button" value="חפש" name="button" align="absmiddle" border="0" alt="submit" onclick="showDiv(); logger();"></form>   

post.js:

document.getElementById('quickContactForm')
$(document).ready(function(){
//$("#hiddenDiv").hide();
});

function showDiv(){
  var str=$("#search").val();
  var url="action.php?show="+str;
  console.log('url'+url);
  $.get(url,function(data,status){
  //   alert("Data: " + data + "\nStatus: " + status);
      $("#hiddenDiv").html(data);
      $("#hiddenDiv").show();
  });

    function logger(){
       var str=$("#search").val();
       currentTime = new Date().getTime();
       console.log(currentTime);
       data = [currentTime,str];
       $.post('logger.php',function(data){
       });
    }

action.php效果很好。

logger.php

<?php
 $Date = date('Y-m-d H:i:s');
 var str=$("#search").val();
 var ip=$_SERVER['REMOTE_ADDR'];
 $file = fopen("log.txt","a+");
  fwrite($file,$str,$ip);
  fwrite($file,$Date. "\n");
  fclose($file); 
  print_r(error_get_last());
}
?>

2 个答案:

答案 0 :(得分:0)

如果第一个功能成功,您可以执行第二个功能的回调。

document.getElementById('quickContactForm')
$(document).ready(function(){
 //$("#hiddenDiv").hide();
});

    function showDiv(){
     var str=$("#search").val();
  var url="action.php?show="+str;
  console.log('url'+url);
  $.get(url,function(data,status){
  //   alert("Data: " + data + "\nStatus: " + status);
      $("#hiddenDiv").html(data);
      $("#hiddenDiv").show();
       //callback to logger once the first function is completed
       logger();
  });

function logger(){
   var str=$("#search").val();
   currentTime = new Date().getTime();
   console.log(currentTime);
   data = [currentTime,str];
   $.post('logger.php',function(data){
   });
}

您可以从onclick中删除记录器以检查

答案 1 :(得分:0)

如果logger.php不依赖于action.php的结果,我建议在action.php中调用logger.php。因此,您不需要向服务器发送两个http请求。只有一个是必要的。

action.php的:

require_once('logger.php')