Forms 如何在文本文件中记录投稿?
我有一个有很多字段的表单。让我们简化一下,假设现在这里只有名字/姓氏/电子邮件。我必须使用Perl来处理表单,因为我以后需要用它做其他事情 提交表格时,我需要它做三件事:Forms 如何在文本文件中记录投稿?,forms,perl,Forms,Perl,我有一个有很多字段的表单。让我们简化一下,假设现在这里只有名字/姓氏/电子邮件。我必须使用Perl来处理表单,因为我以后需要用它做其他事情 提交表格时,我需要它做三件事: 将对此表单的响应放入服务器上的文本文件中 发送电子邮件提醒,告知已提交新表单。它不需要包含表单数据,只要有一个新的表单数据就可以了 向刚刚点击提交的用户显示“感谢填写表单”页面 我已经试着集中精力让它做这些事情中的任何一件,但我仍然不太理解Perl,无法做到这一点。我充其量只是一个HTML用户。这似乎是一系列相当简单的事情要做
cpan-Plack
cpan MIME::Lite
form.HTML
或其他名称)
输入一些内容:
发送
app.PSGI
)
http://localhost:5000
这并不是最好的方法,但这是一个非常简单的方法,可以展示它是多么容易开始,并提供一个从中构建的基础。请发布您迄今为止的尝试。您已经为此工作了一年了吗?到目前为止你都试了些什么?
use strict;
use warnings;
use autodie;
use Plack::App::File;
use Plack::Builder;
use Plack::Request;
use MIME::Lite;
builder {
mount '/form.html' => Plack::App::File->new( file => "form.html" );
mount '/send' => sub {
my $req = Plack::Request->new($env);
open my $fh, '>', 'form.txt';
print $fh $req->content; # this will be ugly, but you didn't say what format
close $fh;
my $email = MIME::Lite->new(
From => 'website@example.com',
To => 'user@example.com',
Subject => 'Form submitted from web site',
Data => 'Read the subject.',
);
$email->send;
return [
200,
[ 'Content-Type' => 'text/html' ],
[ '<h1>Thanks for filling in the form.</h1>' ],
];
};