[GastForen Archiv Perl und CGI ordnen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Archiv - Archivierte Foren
Themen
Beiträge
Moderatoren
Letzter Beitrag

ordnen

otto
Beiträge gesamt: 69

19. Feb 2007, 09:34
Beitrag # 1 von 6
Bewertung:
(3550 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebes Forum,
ich habe ein Formular erstellt und über cgi eingebunden. Alles klappt gut aber leider kommen die Daten nicht in der Reihenfolge wie es in der Webtabelle ist als Mail an. Es ist ein Durcheinander hat einer ein Tipp wie man es ordnen könnte??


Für Hilfe wäre ich sehr Dankbar
otto
X

ordnen

SabineP
Beiträge gesamt: 7586

19. Feb 2007, 10:16
Beitrag # 2 von 6
Beitrag ID: #277135
Bewertung:
(3538 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Otto,

wie sieht denn das Perl-Script und das Formular aus?

Gruß Sabine


als Antwort auf: [#277126]

ordnen

otto
Beiträge gesamt: 69

19. Feb 2007, 10:35
Beitrag # 3 von 6
Beitrag ID: #277138
Bewertung:
(3533 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo SabineP,
vielen Dank

hier das cgi
___________________________________________________


#!/usr/bin/perl

&ReadParse(*FORM);

# delete for hacks alls \n \r
$FORM{'subject'} =~ s/\n|\r//g;
#patched1

my $sendmail = "/usr/sbin/sendmail -i -t";

# check all fields
my @list = split(/, /, $FORM{'required'});
for(@list) {
if ($FORM{$_} eq "") {&error;}
}

# send Mail

open(MAIL, "| $sendmail");
print MAIL "Return-Path: ".'info@test.de'."\n";
print MAIL "To: ".'info@test.de'."\n";

if ($FORM{email} =~ /^[a-z0-9\_\.\-]*\@[a-z\-\.]*\.\w+$/i) {
print MAIL "From: $FORM{email}\n";
} else {
print MAIL "From: ".'info@test.de'."\n";
}

print MAIL "Subject: $FORM{'subject'}\n\n";

foreach (keys %FORM) {
print MAIL "$_: $FORM{$_}\n";
}

close(MAIL);

# zweite Mail an den Kunden
if (("1" eq "1") && ($FORM{email} =~ /^[a-z0-9\_\.\-]+\@[a-z\-\.]+\.\w+$/i)) {

open(MAIL, "| $sendmail");
print MAIL "Return-Path: ".'info@test.de'."\n";
print MAIL "To: ".$FORM{email}."\n";
print MAIL "From: $FORM{email}\n";

print MAIL "Subject: Bestätigung $FORM{'subject'}\n\n";

foreach (keys %FORM) {
print MAIL "$_: $FORM{$_}\n";
}
close(MAIL);

}


&ok;
exit;

## SUBS

sub ok {
print "Location: $FORM{'redirect'}\n\n";
exit;
}

sub error {
print "Location: $FORM{'missing_fields_redirect'}\n\n";
exit;
}

sub ReadParse {
local (*in) = @_ if @_;
local ($i, $key, $val);

# Read in text
if (&MethGet) {
$in = $ENV{'QUERY_STRING'};
} elsif (&MethPost) {
read(STDIN,$in,$ENV{'CONTENT_LENGTH'});
}

@in = split(/[&;]/,$in);

foreach $i (0 .. $#in) {
# Convert plus's to spaces
$in[$i] =~ s/\+/ /g;

# Split into key and value.
($key, $val) = split(/=/,$in[$i],2); # splits on the first =.

# Convert %XX from hex numbers to alphanumeric
$key =~ s/%(..)/pack("c",hex($1))/ge;
$val =~ s/%(..)/pack("c",hex($1))/ge;

# Associate key and value
$in{$key} .= "\0" if (defined($in{$key})); # \0 is the multiple separator
$in{$key} .= $val;

}

return scalar(@in);
}

# MethGet
# Return true if this cgi call was using the GET request, false otherwise

sub MethGet {
return ($ENV{'REQUEST_METHOD'} eq "GET");
}

# MethPost
# Return true if this cgi call was using the POST request, false otherwise

sub MethPost {
return ($ENV{'REQUEST_METHOD'} eq "POST");
}
________________________________________________________________


und hier das Formular

http://www.bucheinband-exquisit.de/pages/testperson.html


Grüße Torsten


als Antwort auf: [#277135]

ordnen

SabineP
Beiträge gesamt: 7586

19. Feb 2007, 11:25
Beitrag # 4 von 6
Beitrag ID: #277150
Bewertung:
(3521 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Torsten,

wenn Du die Formularinhalte dieses Formulars fein sortiert in einer E-Mail erhalten möchtest,
dann klappt das nur zuverlässig, wenn Du ein Template für den Mailinhalt verwendest.

Im Template fügst Du Platzhalter für die einzelnen Formularfelder ein.

Das Perl-Script nimmt dann nach Absenden des Formulars die einzelnen Formulardaten entgegen und füllt die Platzhalter im Template mit den Formulardaten aus, anschließend wird die Mail versendet.

Das kannst Du so als Aufgabenstellung Deinem Perl-Programmierer übergeben.

Gruß Sabine


als Antwort auf: [#277138]

ordnen

otto
Beiträge gesamt: 69

19. Feb 2007, 11:37
Beitrag # 5 von 6
Beitrag ID: #277158
Bewertung:
(3517 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sabine,
erst mal recht vielen Dank.
Ich glaube das ist mir zu kompliziert.
Dann muss es wohl so gehen.

Vielen Dank Torsten


als Antwort auf: [#277150]

ordnen

SabineP
Beiträge gesamt: 7586

19. Feb 2007, 11:53
Beitrag # 6 von 6
Beitrag ID: #277161
Bewertung:
(3512 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Torsten,

>> Ich glaube das ist mir zu kompliziert. Dann muss es wohl so gehen.

Mir ist das nicht zu kompliziert :-)
Aber ein paar Stunden brauche ich schon für so ein Script.
Schicke mir eine PM, wenn Du Hilfe brauchst.

http://www.hilfdirselbst.ch/...te+Mitteilung+senden

Gruß Sabine


als Antwort auf: [#277158]
(Dieser Beitrag wurde von SabineP am 19. Feb 2007, 11:55 geändert)
X