从网站存储数据的最简单方法(在服务器端)

时间:2012-12-20 14:09:13

标签: javascript html

我有一个非常简单的网站(实际上是单页),有一个输入字段和一个按钮 我需要存储用户在服务器端某处提交的数据。完美的方式可以是简单的文本文件,并在每次单击按钮后附加新行。日志文件也可以。
据我所知,JavaScript本身是不可能的。我正在寻找最简单的解决方案,最好没有服务器端编程(但如果需要,它应该尽可能简单并且开箱即用)。如果可以提供帮助,我可以使用一些辅助服务 请帮忙。
提前致谢。

UPD。只想重新解释主要问题。我真的不需要在服务器端存储一些东西。我需要收集用户的一些意见。可能吗?如果它只是发送到我的电子邮件也可以。

4 个答案:

答案 0 :(得分:5)

对于一个非常简单的表单到服务器日志脚本:

您的表格:

<form action="save-to-log.php" method="POST">
  <fieldset>
    <legend>Add to log</legend>
    <p>
      Message:
      <textarea name="message"></textarea>
    </p>
    <p>
      <input type="submit" value="SAVE" />
    </p>
  </fieldset>
</form>

然后 save-to-log.php

<?php
  $log_file_name = 'mylog.log'; // Change to the log file name
  $message = $_POST['message']; // incoming message
  file_put_contents($log_file_name, $message, FILE_APPEND);
  header('Location: /'); // redirect back to the main site

如果它是unix主机,则需要向日志目录添加755权限,以便PHP有权写入它。除此之外,您还有一个表单可以将信息附加到mylog.log

<强>后续

如果你不一定需要它存储在服务器上(你提到过电子邮件),你可以使用以下代码作为PHP脚本:

<?php
  $to_email = 'kardanov@domain.com';
  $subject = 'User feedback from site';
  $message = $_POST['message'];

  // this may need configuring depending on your host. If you find the email isn't
  // being sent, look up the error you're receiving or post another question here on
  // SO.
  mail($to_email, $subject, $message);

  header('Location: /');

答案 1 :(得分:3)

如果没有某种服务器端脚本,则无法在服务器上存储信息。

在客户端和服务器上有两个不同的地方存储数据。

客户端方面,有很多方法可以从Cookie到Store.js,但听起来您希望将这些信息存储在服务器上。

要存储在服务器,您需要某种可以从javascript / http接收帖子并将其保存在文件中的应用程序。

在您的情况下,如下所示的非常简单的PHP脚本将是完美的:

<?php

//Was the request (post or get) parameter data supplied?
if(!empty($_REQUEST['data']) {
    $file = 'log.txt';
    $data = $_REQUEST['data']."\n";

    // using the FILE_APPEND flag to append the content to the end of the file
    // and the LOCK_EX flag to prevent anyone else writing to the file at the same time
    file_put_contents($file, $data, FILE_APPEND | LOCK_EX);

}

?>

答案 2 :(得分:1)

如何使用PHP将JSON转储到文件,然后根据请求加载它?

How to safely write JSON data to file using PHP

答案 3 :(得分:1)

如果您想将数据发送到您的电子邮件地址,有几个免费服务可以在不安装任何服务器端应用程序的情况下执行此操作...仍在使用PHP或CGI脚本,但它由服务托管,不是你。, 您所要做的就是将一些代码粘贴到您的网站中,然后所有提交的数据都会发送到您的电子邮件地址。,

很多人没有专业知识来执行此操作他们自己或他们的托管服务将不允许发送邮件工作。这就是为什么这些服务存在。当然,大多数广告都是通过放置在您从表单中获得的电子邮件中的广告来支持的。

无论如何,这里是我找到的优质服务的链接。您还可以通过Google“自由格式处理”查找更多内容。

https://secure.tectite.com/hf/auth/GetStarted?WWWTECTITE

希望这有帮助。