Forenindex » Archiv » Perl und CGI » ich raff garnix!!--pfadangaben--mailformular--und apache

ich raff garnix!!--pfadangaben--mailformular--und apache

Anonym
Beiträge gesamt: 22827

20. Jun 2004, 22:33
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
hallo:-)
würde gerne ein formular das daten an eine email sendet bauen. bzw das formular ist schon fertig.
jetzt habe ich den appacheserver installiert und die testseite http://localhost zeigt mir auch an das es funktioniert.

mein problem ist nun das ich nicht verstehe wie ich das mit den pfadangaben händeln soll??!!

angenommen mein installationsverzeichniss von apache liegt auf:
E:\perl\serverinstall\Perl\

aber meine eigentliche website ligt auf:
E:\website\site\1\htm\formular.htm
E:\website\site\1\cgi-bin\mail.pl

wie und wo muss ich denn jetzt die pfadangaben machen???
wenn ich das formular im browser testen will gebe ich dann zb.: http://localhost/...e\1\htm\formular.htm an oder wie??
------------------------------------------------------------------
das ist meine mail.pl datei:

#!E:\perl\serverinstall\Perl

# -------> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/lib/sendmail";

# -------> Modul für CGI-Scripts einbinden:
use CGI;

# -------> Modul für CGI-Scripts zum Einlesen der Formulardaten anwenden:
$query = new CGI;
@names = $query->param;

# -------> interne Daten aus den erwarteten hidden-Feldern auslesen:
$delimiter = $query->param('delimiter'); # ---> Begrenzerzeichen zwischen name und value
$mailto = $query->param('mailto'); # ---> Empfängeradresse
$returnhtml = $query->param('return'); # ---> URL für Dankeseite
$subject = $query->param('subject'); # ---> E-Mail-Subject


# -------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
if($name ne "mailto" && $name ne "return" && $name ne "subject" && $name ne "delimiter") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$delimiter;
$mailtext = $mailtext.$value."\n";
}
}
}

# -------> E-Mail versenden:
open(MAIL,"|$Sendmail_Prog -t") || print STDERR "Mailprogramm konnte nicht gestartet werden\n";
print MAIL "To: $mailto\n";
print MAIL "Subject: $subject\n\n";
print MAIL "$mailtext\n";
close(MAIL);

# -------> Dankeseite an Browser senden:
print "Location: $returnhtml\n\n";

bitte bitte helft mir:-))


ich raff garnix!!--pfadangaben--mailformular--und apache

SabineP
Beiträge gesamt: 7586

20. Jun 2004, 23:02
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
Hallo Anonym,
schau doch erstmal in der Konfigurationsdatei des Apache (httpd.conf) nach, wo sich Dein DocumentRoot befindet.
Unterhalb des DocumentRoot kannst Du ein Verzeichnis anlegen. In dieses Verzeichnis legst Du dann das Formular.

Das Formular findest Du dann im Browser mit
http://localhost/...eichnis/formular.htm

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

Das wird so nicht gehen, oder hast Du sendmail installiert?

Gruß Sabine

ich raff garnix!!--pfadangaben--mailformular--und apache

Anonym
Beiträge gesamt: 22827

21. Jun 2004, 14:47
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
danke und hallo sabine,
da tun sich einige fragen zusammen die mir unklar sind!

ich gehe mal davon aud das das "DocumentRoot"="ServerRoot" ist oder?
damit währe es dann:
-ServerRoot "E:/perl/serverinstall/Apache2"-
also müsste ich nun mein Formular in zb:
E:/perl/serverinstall/Apache2/formular/formular.htm
legen und das .pl in zb:
E:/perl/serverinstall/Apache2/cgi-bin/mail.pl
richtig so??:-)
hoffe das ich das gerafft hab:-D


nun weiter:
1. ich hab 2xhttpd.conf
1xhttpd.conf
und
1xhttpd.conf.old
ist das was flasch gelaufen bei der installation oder ist das normal, kann ich die ".old" löschen?????

dann noch dies:
"Das wird so nicht gehen, oder hast Du sendmail installiert?"
nö, nix installiert:-(
muss ich das denn unbedingt?
kann ich die zeile auch irgendwie ändern damit ich dieses sendmail nicht benötige?
ist das überhaupt das richtige .pl???
da gibts ja ne menge in netz und man findet sih als leihe net mehr so richtig zu recht:-(


und zu guter letzt:
kann ich eine tabelle erstellen und diese in einen formtag legen und somit alle daten der tabelle auslesen und verschicken lassen?? so das ich net jedes einzelne eingabefeld des formulars mit einem formtag belegen muss??


danke dir für dene antwort!
oh annonym..muss mich bei geegenheit mal anmelden :-)
tschu

ich raff garnix!!--pfadangaben--mailformular--und apache

Anonym
Beiträge gesamt: 22827

21. Jun 2004, 14:53
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
sorry muss mich mal korrigieren:
hab das dokumentroot gefunden und es lautet:
E:/perl/serverinstall/Apache2/htdocs
also dann:
E:/perl/serverinstall/Apache2/htdocs/formular/formular.htm
E:/perl/serverinstall/Apache2/htdocs/cgi-bin/mail.pl

also doch kein "DocumentRoot"="ServerRoot"
sondern "DocumentRoot"="DocumentRoot" :-DD

ich raff garnix!!--pfadangaben--mailformular--und apache

SabineP
Beiträge gesamt: 7586

21. Jun 2004, 16:02
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
Hallo Anonym,

den Form-Tag brauchst Du nur einmal für ein Formular.
Die gesamte Tabelle sollte sich innerhalb des Form-Tags befinden.

>> "Das wird so nicht gehen, oder hast Du sendmail installiert?"
>> nö, nix installiert:-( muss ich das denn unbedingt?
>> kann ich die zeile auch irgendwie ändern damit ich dieses sendmail nicht benötige?

Zum Mailen brauchst Du einen Mailserver. Wo sich der Mailserver befindet ist erstmal egal.
Wenn Du ohne sendmail mailen möchtest, dann schau Dir hier TFMail an:
http://nms-cgi.sourceforge.net/scripts.shtml

Gruß Sabine

ich raff garnix!!--pfadangaben--mailformular--und apache

Anonym
Beiträge gesamt: 22827

21. Jun 2004, 16:27
Bewertung:

gelesen: 1367

Beitrag als Lesezeichen
oh gott ich resegniere,
aber danke für deine antworten:-((((
tschu