【问题标题】:Is a server side script necessary to process a form?处理表单是否需要服务器端脚本?
【发布时间】:2011-01-27 23:04:20
【问题描述】:

将表单发送到电子邮件是否需要服务器端脚本?

例如,假设我要提交此表单。是只能用 php asp.net 等实现还是只能用 javascript 实现?

<HTML>
   <HEAD>
     <TITLE>HTML form tutorial example</TITLE>
   </HEAD>
   <BODY>

    <H1>HTML form tutorial example</H1>

    <FORM>

    Name: <INPUT TYPE="TEXT" NAME="Name" VALUE="" SIZE="25" MAXLENGTH="50"> <BR>

    Email: <INPUT TYPE="TEXT" NAME="Email" VALUE="" SIZE="25" MAXLENGTH="50"><BR>

    <INPUT TYPE="SUBMIT" NAME="submit" VALUE="Sign Me Up!">

    </FORM>

   </BODY>
</HTML>

【问题讨论】:

    标签: php asp.net javascript xhtml


    【解决方案1】:

    您需要一种服务器端语言来处理它。

    【讨论】:

    • "process" 表示处理发送回服务器的数据(表单输入)。即,通过电子邮件发送。
    【解决方案2】:

    不,不一定。我的意思是,您确实需要一个服务器来处理信息,但您自己不必亲自编写该服务器程序。如果您正在使用一种在线服务来处理电子邮件列表(M​​ailChimp 等),那么您可以使用他们的代码,您可以从他们的网站上下载。它将提交给他们的服务器。另一种方法是您可以构建一个 URL,该 URL 将报告给另一个帐户,并以这种方式获取数据以进行手动处理。

    【讨论】:

      【解决方案3】:

      可以使用 mailto: URL 来执行表单的操作,如下所示:

      <form action="mailto:someone@example.com" entype="text/plain" method="post">
          <input type="hidden" name="subject" value="The subject line of the email" />
          <input type="text" name="themessage" value="Hey there" />
          <input type="submit" value="Send the message" />
      </form>
      

      这将启动用户的邮件客户端并将表单数据粘贴到邮件正文中。然而,他们必须在邮件客户端中点击“发送”——如果没有额外的步骤,这实际上不会自动发送任何内容。

      如果客户端没有为 mailto: 链接设置处理程序,这将不起作用(即:他们没有安装邮件程序)。

      【讨论】:

      • 值得注意的是,对于许多拥有基于 Web 的邮件帐户的人来说,这是行不通的,而且实际上会将他们发送到 Outlook Express 之类的东西,从而使他们感到困惑——这些天,mailto 链接是如此不可靠:(
      【解决方案4】:

      您可以从 javascript 访问数据(如果您使用 GET 方法),但您不能从 javascript 发送电子邮件...

      为此,您需要一种服务器端技术..

      更新

      如何使用PHP mail function发送电子邮件
      热读表单数据$_GET

      【讨论】:

      • 请告诉我如何用 PHP 发送这个
      【解决方案5】:

      通常:是的,您需要一种服务器端语言来处理表单数据。


      但是这个问题让我想起了很久以前读过的东西;在早期,在目标中使用mailto 非常普遍(至少对于业余“主页”而言),如下所示:

      <form action="mailto:example@example.com" method="post" enctype="text/plain" >
      

      快速搜索,发现this

      这太脏了,我猜它依赖于用户设置了默认的邮件客户端(这可能不再是这种情况,随着网络邮件客户端变得越来越普遍),并且某些浏览器可能不支持它(尽管如果他们不这样做,我会感到惊讶)。您还可以公开您的电子邮件地址,以便垃圾邮件发送者轻松抓取。您无法控制格式等...

      请注意,我不是说你应该这样做,只是可能可以这样做。


      也可以使用 javascript 格式化从表单中提取的一些数据,并将其放置在链接的 href 中,使用一些额外的关键字来控制文本和主题(只需 google“mailto 链接”)。我实际上将其用作报告错误的简单低技术解决方案(即使错误是由服务器脱机引起的也有效)。

      【讨论】:

        【解决方案6】:

        您也许可以调整您的服务器以选择性地记录特定的 URL。通过这种方式,您可以将表单提交记录到指定批次以供以后处理。如果需要,您可以通过 FTP 或 SCP 远程下载日志,然后在另一台机器上处理日志。

        Apache 将允许您执行选择性日志记录。不确定这个解决方案是否会太有用。如果您不能使用动态语言,则可能无法更改日志记录配置。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-25
          • 2018-11-01
          • 1970-01-01
          • 2013-09-23
          • 2016-09-04
          • 2022-07-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多