alex: Erfassung von Datum und Zeit

Beitrag lesen

Hi,

aber als ich den \n und noch die IP Adresse mitschicken wollte, funktinierte das alles nicht mehr richtig.

und das heißt? Fehler und Probleme bitte immer mit Fehler- bzw. Problembeschreibung.

#!/usr/bin/perl

#!/usr/bin/perl -w
use strict;

Du ahnst nicht, wie viele Fehler Dir das aufdecken wird.

Wie denn aufdecken? Was hab ich davon, wenn es auch mit der obigne Version funktioniert?

$Sendmail_Prog = "/usr/lib/sendmail";

Ich hätte mal mitzählen sollen, wie oft ich in letzter Zeit auf

perldoc perlstyle

verwiesen habe. Außerdem:

perldoc -f my
perldoc perlfaq4 What's wrong with always quoting "$vars"?

my $sendmail_prog = '/usr/lib/sendmail';

Ich gehe mal nicht darauf ein, daß Net::SMTP die deutlich bessere Wahl wäre :-)

Also meinst Du perldoc.com? Ist das auch ein Modul, auf welches ich einfach zugreifen kann?
Also Net::SMTP hate ich irgendwann mal probiert, hat aber nicht geklappt, aber wie Du siehst mache ich noch viele blöde Fehler:-) Was wäre der Vorteil?

use CGI;

Gut!

@names = $query->param;

Nicht gut. param() liefert Dir bereits ein Array, das Du direkt verwenden kannst; es ist nicht nötig, es noch mal in den Speicher zu kopieren.

Also weglassen?

$mailtext = "Aufgegebene Bestellung:\n";
$mailtext = "$ENV{'REMOTE_ADDR'}\n";

Du setzt hier eine Variable, und überschreibst ihren Inhalt sogleich wieder. Das ist vergleichbar damit, etwas auszudrucken, um es in den Schredder zu geben.

my $mailtext = "Aufgegebene Bestellung:\n";
$mailtext .= "$ENV{'REMOTE_ADDR'}\n";

Siehe perldoc perlop

OK, Danke! Wie müßte ich dann das Datum mit deiner variante einfügen?

foreach(@names) {

next if ($_ eq 'mailto' || $name eq 'return' || $name eq 'subject' || $name eq 'delimiter');
foreach my $value ($query->param($_)) {
  $mailtext .= $_.$delimiter.$value."\n";
}

einfach statt dessen einfügen?

}

-------> E-Mail versenden:

open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";

Besser:

open(...) or die "Mailprogramm konnte nicht gestartet werden: $!";

Und das reicht???

print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";

Kein From?

Warum Form? Wegen früherer Postings oder warum? Soll halt am Ende per mail zu mir geschickt werden.

close(MAIL);

close(MAIL) or die "Mailprogramm konnte nicht geschlossen werden: $!";

auch ersetzten?

-------> Dankeseite an Browser senden:

print "Location: $returnhtml\n\n";

print $query->redirect($returnhtml);

OK!

Also wie gesagt, wollte halt in der email einen Absatz einfügen

Du hast erst einen Umbruch eingefügt. Zwei davon ergeben einen Absatz.

Cheatah

VIELEN DANK, HAT MIR SCHON SEHR GEHOLFEN!!!

Gruß
Alex