perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 21
Click for quality!




04.02.2012 / 14:42

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  CGI: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragFinde Fehler nicht
Seitenanfang
Hallo zusammen,

ich habe einen Formmailer auf folgender Seite: "http://www.abtsbessingen.de/gaestebuch.html".

Schaut euch erst mal den Quelltext an. Der Formmailer arbeitet mit folgender Perl-Datei zusammen: "http://www.abtsbessingen.de/cgi-bin/mail.pl".


#!/usr/bin/perl

# -------> Individuelle Parameter des Skriptes - bitte anpassen!
# --> SMTP-Programm zum Versenden der Mail:
$Sendmail_Prog = "/usr/sbin/sendmail";
# --> Ziel-Mailadresse, an die gesendet werden soll:
$mailto = 'ozzyka@gmail.com';

# -------> 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:
$begrenzer = $query->param('begrenzer'); # ---> Begrenzerzeichen zwischen name und value
$adresse = $query->param('adresse'); # ---> URL für Dankeseite
$betreff = $query->param('betreff'); # ---> E-Mail-Subject

# -------> alle Whitespace-Zeichen (Leerzeichen, Tabulator, Newline) in Leerzeichen wandeln
# VERHINDERT sonst möglichen MISSBRAUCH des Skripts
$betreff =~ s/\s/ /g;

# -------> Text der E-Mail aus den Formulardaten ermitteln:
$mailtext = "";
foreach(@names) {
$name = $_;
@values = "";
@values = $query->param($name);
if($name ne "adresse" && $name ne "betreff" && $name ne "begrenzer") {
foreach $value (@values) {
$mailtext = $mailtext.$name;
$mailtext = $mailtext.$begrenzer;
$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: $betreff\n\n";
print MAIL "$mailtext\n";
close(MAIL);

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

Das Skript stammt von Stefan Münz und ich habe es nur für meine Dinge ein wenig verändert. Aber das seht ihr ja, wenn ihr den Quelltext der HTML-Seite anschaut.

Mein Hoster ist Hosteurope und die haben mir noch nicht geantwortet. Ich habe alle Dinge beachtet (755...), doch das funktioniert nicht.

Findet irgendjemand den Fehler? Danke für eure Hilfe.

Datum: 07.03.2007-10:41

Beitragre: Finde Fehler nicht
Seitenanfang
Hallo ozzyka

Wenn ich nix übersehen habe: Ich vermisse die Angabe des Content Types, bevor etwas an den Browser ausgegeben wird.

Probier doch bitte mal folgendes aus: Schreibe vor die Zeile(n)


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

die Zeile:


print "Content-type:text/html\n\n";

Das Error Log des Webservers hilft auch weiter ...

Grüße
Mario

Datum: 10.03.2007-13:05

Beitragre: Finde Fehler nicht
Seitenanfang
Hallo!

@Mario:
Diese location-Zeile ist bereits der von dir vermisste http-header für den Browser. Es handelt sich um einen Weiterleitungsheader an eine Danksagung-html-Seite, die über $address zu erreichen ist.

@ozzyka:
Solange wir die Error-Log nicht kennen, können wir nur Mutmaßen. Oder schreibe (auch) mal ein

use CGI::Carp 'fatalsToBrowser'
ins Mailer-Skript, dann sollten die tatsächlichen Fehler im Browser ausgegeben werden.

Grüße, Skrilax

Datum: 10.03.2007-13:52

Beitragre: Finde Fehler nicht
Seitenanfang
Ah damn, ich hätte wohl doch meine Brille aufsetzen sollen. Danke für den Hinweis. :)

Grüße
Mario

Datum: 10.03.2007-16:57

Beitragre: Finde Fehler nicht
Seitenanfang
Entschuldige, aber kannst du auch netterweise mit angeben was genau denn nicht funktioniert?
Mit der Erwartung eine Fehlermeldung zu erhalten, habe ich das Formular abgeschickt. Anders als erwartet bekomme ich die Dankseite angezeigt.
Bitte um konkretere Fehlerbeschreibung und ggf. aufgetretene Fehlermeldungen oder Logbuchausschnitt.

Datum: 11.03.2007-02:15

-






-
-