在没有php/asp的服务器上录制表单输入

在没有php/asp的服务器上录制表单输入

问题描述:

我有一个小型项目,用于在没有服务器端脚本的裸机网络解决方案帐户上托管的页面上记录某些表单输入。我一直在试图研究解决方案,似乎做到这一点的唯一方法可能是在主机上使用辅助帐户,该主机上有php并通过ajax提交给它(我不希望页面刷新,假设这是必要的)。我以前从未使用ajax,并且此项目很快将到期,因此我正在寻找不需要很大学习曲线的示例或解决方案。任何人都可以建议任何资源在没有php/asp的服务器上录制表单输入

+1

如果您无法访问任何类型的服务器端脚本语言,您希望如何将数据保存到服务器?即使你有另一台允许你的服务器,你仍然只能将数据保存到该服务器,除非你可以通过FTP将文件上传到主服务器。除此之外,没有一些服务器端脚本语言后端,这个任务是不可能的。 –

如果您不希望页面刷新,唯一的方法是将表单发布为iframe中的0x0像素,因为ajax不支持跨站点。

<html> 
    <head></head> 
    <body> 
    <form action="http://www.example.org/otherHost.php" .... target="myIframe"> 
     ..... 
    </form> 
    <iframe src="someblankdocument.html" name="myIframe" id="myIframe" width="0" height="0" frameborder="0"></iframe> 
</html> 
+0

嘿,我从来不知道那个伎俩,它效果很好,谢谢! –

“记录” 到一个文件一样简单

file_put_contents($file, $data); 

如果你安装的jQuery做一个POST请求到PHP网页一样简单

$.post(
    "file.php", 
    { data here } 
    function(data) { 
     alert("success"); 
    } 
); 

http://api.jquery.com/jQuery.post/

http://www.php.net/file_put_contents

如果你想把你的数据放入数据库,它会变得更加复杂。

  1. 必须使用服务器端处理存储来自用户的表单结果。
  2. 不需要需要使用ajax将表单提交到另一个帐户或位置。

例如例如,如果你有两个帐户foo.example.combar.example.com

foo.example.com/index.html你可以有一个表单,提交给bar.example.com

<form action='bar.example.com/saveForm.php' method='post'> 
    ... 
</form> 

这里是一个非常简单的saveForm.php是保存结果到bar.example.org/data.csv,而无需验证输入:

<?php 

$fp = fopen('data.csv', 'a'); 
fputcsv($fp, $_POST); 
fclose($fp); 

// Tell user then you got their data - normally should do error checking first 
echo "Data saved. Thank you!"; 

?> 
+0

谢谢,我最终不得不稍微修改它,因为我只有一个表单域,所以它没有插入逗号,但是感谢您的基本和非常简单的PHP入门! –