17

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

UPD。只想重新表述主要问题。我真的不需要在服务器端存储一些东西。我需要从用户那里收集一些输入。是否可以?例如,如果它只是发送到我的电子邮件也可以。

4

4 回答 4

8

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

你的表格:

<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>

然后保存到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: /');
于 2012-12-20T14:15:10.313 回答
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);

}

?>
于 2012-12-20T14:13:04.493 回答
1

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

如何使用 PHP 安全地将 JSON 数据写入文件

于 2012-12-20T14:13:13.543 回答
1

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

很多人自己不知道如何做到这一点,或者他们的托管服务将不允许发送邮件工作。这就是这些服务存在的原因。当然,它们中的大多数都受到您从表单中获得的电子邮件中放置的广告的支持。

无论如何,这是我找到的优质服务的链接。您还可以谷歌“自由表单处理”来查找更多信息。

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

希望这可以帮助。

于 2013-12-21T01:47:59.167 回答