Ik heb een uitstapje gewaagd naar server side scripting, in dit geval perl. Ik heb dus een mailform gemaakt en daarbij een perl script wat dit form verwerkt en door stuurt naar een mailadres.
Nu wil ik het script eigenlijk uitbreiden met een aantal verplichte velden maar met de (Google) tutorials die ik heb kunnen vinden kan ik het helaas niet voor elkaar krijgen. Ook de search op GoT levert 1 bruikbare post op, deze heb ik geprobeerd maar krijg het niet werkende.
Het script bij een geraapt van bestaande scripts:
Kan iemand mij op weg helpen met een goede tutorial of een uitleg van wat er moet gebeuren om dit voor elkaar te krijgen?
Owh, boeken over Perl zijn al besteld dus ik hoop dit soort vragen in het vervolg achterwege te laten.
Nu wil ik het script eigenlijk uitbreiden met een aantal verplichte velden maar met de (Google) tutorials die ik heb kunnen vinden kan ik het helaas niet voor elkaar krijgen. Ook de search op GoT levert 1 bruikbare post op, deze heb ik geprobeerd maar krijg het niet werkende.
Het script bij een geraapt van bestaande scripts:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
| #!/usr/bin/perl -w
#
# Perl pragmas
# use 5.003;
use strict;
# Make sure CGI output is not buffered
$|=1;
# Email Stuff
my $mail_program = '/usr/lib/sendmail -t';
my $admin_email = "ik\@mijndomein.com";
my %form;
&cgi_header;
&parse_form_data;
&request_condor_update;
#
# Subroutine request_condor_update
#
sub request_condor_update {
#Local vars
my $header;
my $body;
my $key;
# Email header
$header = "To: $admin_email\n";
$header .= "From: Condor Template. <$admin_email>\n";
$header .= "Subject: ConDor Update!\n";
# Email body, include file content
$body = "Hi,\n\n";
# foreach $key (keys %form) {
# $body .= "$key : $form{$key}\n"
# }
$body .= "Announcement type : $form{'announce_type'}\n";
$body .= "Geo : $form{'geo'}\n";
$body .= "Country : $form{'country'}\n";
$body .= "Price List : $form{'pricelist'}\n";
$body .= "Currency : $form{'currency'}\n\n";
$body .= "Part number details : $form{'partnumber_details'}\n";
$body .= "Pricing information : $form{'pricing_information'}\n\n";
$body .= "Effective date from : $form{'effectivefrom_date'}\n";
$body .= "Effective date through: $form{'effectivethrough_date'}\n\n";
$body .= "Special comments : $form{'special_comments'}\n\n";
$body .= "Kind Regards,\n";
$body .= "ConDor Webbased Update Tool\n\n";
# Send email
open (MAIL, "|$mail_program") or die ("Can't open $mail_program for sending email.");
print MAIL $header;
print MAIL $body;
close (MAIL);
}
#
# Subroutine cgi_header
#
sub cgi_header {
# Print CGI header
print "Content-type: text/html\n\n";
}
#
# Subroutine parse_form_data
#
sub parse_form_data {
# Local variables
my $request_method = $ENV{'REQUEST_METHOD'} || '';
my $content_length = $ENV{'CONTENT_LENGTH'};
my $buffer;
my @pairs;
my $pair;
my $name;
my $value;
# Determine buffer based on request method
if ($request_method =~ /^(get|head)$/i) {
$buffer = $ENV {'QUERY_STRING'}
}
elsif ($request_method =~ /^(post)$/i) {
read (STDIN, $buffer, $content_length)
}
# Determine name/value pairs
$buffer =~ tr/+/ /;
@pairs = split (/&/, $buffer);
foreach $pair (@pairs) {
($name, $value) = split (/=/, $pair);
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
if (exists $form{$name}) { $form{$name} .= "|$value" }
else { $form{$name} = $value }
}
} |
Kan iemand mij op weg helpen met een goede tutorial of een uitleg van wat er moet gebeuren om dit voor elkaar te krijgen?
Owh, boeken over Perl zijn al besteld dus ik hoop dit soort vragen in het vervolg achterwege te laten.
When did I realize I was God? Well, I was praying and suddenly I realized that I was talking to myself