[GastForen Archiv Perl und CGI Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

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

Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

Nordel
Beiträge gesamt: 19

26. Mai 2003, 15:59
Beitrag # 1 von 5
Bewertung:
(1383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich will für meine HP ein E-Mail Formular einrichten.
Weis jemand eine !einfache! Seite die das erklärt!
Habs schon so oft probiert aber es hat nie geklappt!
Meistens findet er die URL nicht wenn ich auf abschicken klicke.

Hier mal der Quellcode zur HTMl Seite:
-------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Anfrageformular</title>
</head>

<body bgcolor="#ffffff" vlink="#800080" alink="#ff0000" link="#0000ff">

<form action="http://www.flauschiflair.de/...edback/feedback1.pl" method="POST">

<tr>
<td>
<table width="500" bgcolor="#ECECEC">
<tr>
<td>
<div align="center"> <font face="Verdana, Arial" size="2"><b>Lasst
uns eine Nachricht zukommen!</b></font></div>
<table>
<tr>
<td align="right"><font face="Verdana, Arial" size="1">An wen
senden?</font></td>
<td>
<select name="empfaenger" size="1">
<option value="0">Webmaster</option>
<option value="1">Die Band</option>
</select>
</td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial" size="1">Betreff?</font></td>
<td>
<select name="subject" size="1">
<option value="Auftrittsanfragen">Auftrittsanfragen</option>
<option value="Kritik/Verbesserungsvorschläge">Kritik/Verbesserungsvorschläge</option>
<option value="Sonstiges">Sonstiges</option>
</select>
</td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial" size="1">Ihr Name</font></td>
<td>
<input type=text size=40 maxlength=256 name="name">
</td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial" size="1">Ihr Vorname</font></td>
<td>
<input type=text size=40 maxlength=256 name="vorname">
</td>
</tr>
<tr>
<td align="right"><font face="Verdana, Arial" size="1">E-Mail
Adresse</font></td>
<td>
<input type=text size=40 maxlength=256 name="mailadresse">
</td>
</tr>
<tr>
<td colspan="2">&nbsp;</td>
</tr>
<tr>
<td align="right" valign="top"><font face="Verdana, Arial" size="1">Ihr
Text</font></td>
<td>
<textarea name="anfragetext" cols="40" rows="8"></textarea>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td align="right">&nbsp;</td>
<td>


</td>
</tr>
</table>
<br>
<div align="center">
<input type=submit value="Nachricht senden">
<input type=reset value="Formular zurücksetzen">
</div>
</table>
</td>
</tr>

</body>
</html>
-------------------------------------------------------------

Hier die Datei die im CGI-Verzeichnis liegt:
/html/cgi-bin/feedback/feedback1.pl

---------------------------------------------
#!/usr/bin/perl

# Der Pfad zu Ihrem Mailprogramm
$mailprog = '/usr/sbin/sendmail';

# Der Pfad zu Ihren Date-Kommando
$date = '/usr/bin/date';

# An welche URL soll der User geleitet werden, wenn er seine Mail
# geschrieben hat?
$returnurl = "http://www.Flauschiflair.de/Links.html";

# Zeitspanne in Sek nach der weitergeleitet wird zu obiger URL
$weiterleitungszeit = 5;

# Der Pfad, nicht eine URL, zu dem Verzeichnis mit den Infotexten, keinen / am Ende
$datenpfad = "/home/10/hwinspid/cgi-bin/feedback";

# E-Mail des Empfängers UNBEDINGT den \ vor dem @ notieren
@email_liste = ("PaulWei\@web.de.de","Flauschiflair\@web.de");


############################################################

read(STDIN, $input, $ENV{'CONTENT_LENGTH'});
@pairs = split(/&/, $input);
foreach $pair (@pairs) {
($name, $value) = split(/=/, $pair);
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$FORM{$name} = $value;
}
###############################################################
# Hier JEDES Formularelement eintragen was in dem Formular
# vorkommt von welchem der User absendet
# Die Reihenfolge spielt hier keine Rolle

$empfaenger = $FORM{'empfaenger'};
$subject = $FORM{'subject'};
$name = $FORM{'name'};
$vorname = $FORM{'vorname'};
$mailadresse = $FORM{'mailadresse'};
$anfragetext = $FORM{'anfragetext'};

###############################################################
# Liste der Pflichtfelder die der Kunde ausfuellen muss.
# Kann beliebig angepasst werden

# Fehlerbehandlung Anfang
$fehlermeldung = "" ;
$fehler_gefunden = "" ;

$errormeldung = "<li>Das Feld Name wurde nicht ausgefüllt.\n" ;

if ($name eq "") {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }

$errormeldung = "<li>Das Feld Vorname wurde nicht ausgefüllt.\n" ;

if ($vorname eq "") {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }


$errormeldung = "<li>Bitte geben Sie eine gültige E-Mail Adresse ein.\n" ;

if ($mailadresse !~ /.+\@.+\..+/) {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }


$errormeldung = "<li>Das Feld E-Mail wurde nicht ausgefüllt.\n" ;

if ($mailadresse eq "") {
$fehlermeldung = $fehlermeldung.$errormeldung ;
$fehler_gefunden = 1 ; }

if ($fehler_gefunden) {
&fehlerausgabe; }

# Fehlerbehandlung Ende
###############################################################

&datumsausgabe;
&mailsenden;
&bestaetigung;

sub mailsenden {
open (MAIL, "|$mailprog -t") || die $!;
print MAIL "To: $email_liste[$empfaenger]\n";
print MAIL "From: $name\n";
print MAIL "Subject: $subject\n\n";
print MAIL "Eine Anfrage von ihrem Feedbackformular\n";
print MAIL "Name: $name \n";
print MAIL "Vorname: $vorname\n";
print MAIL "E-Mail: $mailadresse\n";
print MAIL "==================================\n";
print MAIL "Anfragetext:\n";
print MAIL "$anfragetext\n";
print MAIL "==================================\n\n";
print MAIL "Gesendet um: $datum\n";

close(MAIL);

open (MAIL, "|$mailprog -t") || die $!;
print MAIL "To: $mailadresse\n";
print MAIL "From: $email_liste[$empfaenger]\n";
print MAIL "Subject: $subject\n\n";
print MAIL "Hallo $vorname $name\n\n";
print MAIL "Wir haben Ihre Nachricht erhalten und\n";
print MAIL "werden diese so schnell wie möglich bearbeiten.\n";
print MAIL "==================================\n";
if ($autoresponder ne '0') {
print MAIL "Hier der zusätzlich angeforderte Text zur Mail:\n\n";
print MAIL "@file\n\n";
print MAIL "==================================\n\n";
}
print MAIL "Viele Grüße\n";
print MAIL "Flauschiflair\n";
print MAIL "Gesendet um: $datum\n";

close(MAIL);

}
###################################################
sub datumsausgabe {

# Datumsroutine

@tage = ('Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag');
@monate = ('Januar','Februar','Maerz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember');
($sec, $min, $stunde, $mtag, $mon, $jahr, $tag, $nr_tag, $isdst) = localtime(time);
if($stunde < 10) { $stunde = "0$stunde"; }
if ($min < 10) { $min = "0$min"; }
if ($sec < 10) { $sec = "0$sec"; }
$jahr = 1900 + $jahr;
$datum = "$stunde:$min Uhr $tage[$tag], $mtag. $monate[$mon] , $jahr";
}
###################################################
sub bestaetigung {
print "Content-type: text/html\n\n";
print <<"END"
<html>

<head>
<title>Danke!</title>
<meta http-equiv="refresh" content="$weiterleitungszeit; URL=$returnurl">
</head>

<body>
<div align=center><table bgcolor=#F2F2F2 width=500 cellspacing=4 cellpadding=4><tr><td>
<font size=2 face=verdana, Arial><b>Vielen Dank!</b><br>
Vielen Dank Herr/Frau $vorname $name, für Ihre Anfrage.<br>
Sie werden in $weiterleitungszeit Sekunden weitergeleitet,<br>
falls nicht, klicken Sie bitte untenstehen Link.<br>
<a href="$returnurl">Zurück zur Hauptseite</a></font></p>
</td></tr></table></div></body>

</html>

END
}

###################################################
sub fehlerausgabe {
print "Content-type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title>Fehler aufgetreten</title>\n";
print "</head>\n";
print "<body bgcolor=\"#FFFFFF\" text=\"#000000\" link=\"#0000FF\" vlink=\"#800080\" alink=\"#FF0000\">\n";
print "<div align=\"center\">\n";
print "<table bgcolor=\"#800000\" width=\"500\" cellspacing=\"1\" cellpadding=\"0\" border=\"0\">\n";
print "<tr><td>\n";
print "<table bgcolor=\"#F1F1F1\" width=\"500\" cellspacing=\"0\" cellpadding=\"4\" border=\"0\">\n";
print "<tr>\n";
print "<td><font face=\"Verdana, Arial\" size=\"2\">\n";
print "Beim ausfüllen haben Sie folgendes vergessen:<ol> <b>$fehlermeldung</b>\n";
print "</ol><br>\n";
print "Bitte gehen Sie zurück und versuchen es erneut!<br><br>\n";
print "</font></td></tr></table></td></tr></table></div></body></html>\n";
exit;
}
###################################################



Wenn ich auf Absenden klicke kommt folgendes:
Not Found
The requested URL /http://www.flauschiflair.de/...eedback/feedback1.pl was not found on this server.


Die CMD Rechte sind richtig eingestellt!
An was kanns liegen!

Wäre super nett wenn ihr mir helfen könntet!!!!!!!!
X

Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

SabineP
Beiträge gesamt: 7586

26. Mai 2003, 16:15
Beitrag # 2 von 5
Beitrag ID: #37016
Bewertung:
(1383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Nordel, hab´ jetzt nicht das ganze Script getestet.

ändere erstmal die URL in der action Deines Formulars:

vorher:
<form action="http://www.flauschiflair.de/...edback/feedback1.pl" method="POST">

nachher:
<form action="http://www.flauschiflair.de/...edback/feedback1.pl" method="POST">

Falls dann immer noch Fehlermeldungen erscheinen, dann melde Dich nochmal.

Gruß Sabine


als Antwort auf: [#37013]

Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

Anonym
Beiträge gesamt: 22827

26. Mai 2003, 16:47
Beitrag # 3 von 5
Beitrag ID: #37022
Bewertung:
(1383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hmm die Einstellung hatte ich davor und es kam die gleiche Meldung!


als Antwort auf: [#37013]

Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

SabineP
Beiträge gesamt: 7586

26. Mai 2003, 16:52
Beitrag # 4 von 5
Beitrag ID: #37027
Bewertung:
(1383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hier ist die URL:

http://www.flauschiflair.de/...eedback/feedback1.pl

Es kommt keine Fehlermeldung "not found"

Vielleicht hattest Du http:// vergessen.

Gruß Sabine


als Antwort auf: [#37013]

Probleme mit E-Mail Formular Achtung Quellcode. Bitte helfen. Dringend

Anonym
Beiträge gesamt: 22827

26. Mai 2003, 19:52
Beitrag # 5 von 5
Beitrag ID: #37064
Bewertung:
(1383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super jetzt gehts!
Hab das http vergessen
immer das offensichtlichste.....


als Antwort auf: [#37013]
X