cgicorner.ch

Informationen rund um Perl/CGI

Sie sind hier: Home > Forum
Yet Another Bulletin Board

Willkommen, Gast. Bitte Einloggen oder Registrieren.
09. August 2020 um 01:53

Übersicht Übersicht Hilfe Hilfe Suche Suche Mitglieder Mitglieder Einloggen Einloggen Registrieren Registrieren
cgicorner.ch « Formmailer einrichten »


   cgicorner.ch
   Hilfe
   CGI/Perl allgemein

   Formmailer einrichten
« Vorheriges Thema | Nächstes Thema »
Seiten: 1 2  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken
   Autor  Thema: Formmailer einrichten  (Gelesen 28061 mal)
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #15 am: 06. Januar 2009 um 13:36 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
ich  habs geschafft! Eine tolle und überzeugende Lösung mit dem "Formmailer"!
Lass mich nochmals zurück kommen auf die Situation mit Fehlern:
"...Fehler-Details: die Einbindung von Java-Script ist weiterhin möglich. Ebenfalls kann FormMailer das Formular selber wieder als Template verarbeiten und dann genauere Fehlermeldungen ausgeben. Das setzt dann aber voraus, dass du das Formular selber nicht als HTML-Datei hast, sondern speziell einbindest. Da habe ich in der neusten Beta von FormMailer auch noch einige Verbesserungen gemacht. Bei Bedarf sende ich dir gerne die neuste BETA-Version mit einem kleinen Beispiel.
 
Auch wenn du bei der Java-Script Variante bleibst, würde ich zusätzlich mit den NNUL_Tags von FormMailern arbeiten. Dann hast du es so, dass alle User mit aktiviertem Java-Script Detail-Fehlermeldungen deiner JavaScript-Funktion bekommen, alle mit deaktiviertem Javascript (und Spam-Roboter) die Fehlerseite von FormMailer. Arbeitest du ohne FormMailer-Tags können User mit deaktiviertem JavaScript (oder eben auch Spam-Roboter) auch unvollständige Formulare erfolgreich absenden - das ist wohl kaum erwünscht. "
 
Ich habe meine drei Formulare auf der LINUX domain mit Securecode und meinen eigenen Inhaltcheck scripts fertigestellt und soweit erfolgreich getestet. Wenn Scripting durch den User blockiert ist, wird nach dem Absenden des Formulars die Fehlerseite angezeigt. Folglich funktioniert der Schutz vor Spamm'ern auch wenn Scripting ausgeschaltet ist.
Wenn Du mir die Beta Test version zusendest, würde ich gerne als Gegenleistung für Deine ausgezeichnten und hilfreichen Tipps Deine neue Version mal testen. . . .
 
Letzte Frage: Gibt es eine Möglichkeit (oder Pläne), mit Hilfe der Mail templates die Formatierung der Mails ansprechender zu gestalten (z.Bsp. mit tabs) oder evtl. sogar als html mail?
Gruss Hans Z.
gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #16 am: 06. Januar 2009 um 18:47 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Danke für die Antwort, toll wenn du einen Schritt weiter bist. Die BETA-Version inkl. einem kleinen Beispiel sende ich dir dann am späteren Abend per E-Mail.
 
Zu deiner Frage wegen der Formatierung: HTML-Mails sind kein Problem: du kannst im Header den Content-Type definieren und dann mit HTML arbeiten. Tabs funktionieren leider nicht wirklich (es wird einfach so 1:1 an dem Mailclient übergeben, der macht in der Regel aber nichts gescheites.
 
Mit HTML sähe der Quellcode dann etwa so aus:
 
From: [email protected]
To: [email protected]
Subject: Mein HTML-Mail
Content-Type: text/html
 
<html><body>
Mein HTML-Mail mit <b>fetter</b> Schrift.
</body></html>

 
Wichtig ist folgendes:
* die Content-Type Zeile gehört in den Header, also vor der Leerzeile
* HTML-Mail muss inkl. <head> und <body> Tag sein
* Es sind alle Formatierungen erlaubt (auch Tabellen). Viele Mailclients blockieren Java-Script und Bilder, also nicht zu komplizierte Mails.
* Felder weiterhin mit <!--feldname--> ausgeben
 
Ebenfalls zu erwähnen: Spam-Filter stellen da und dort ein Ärgernis dar. Mails vom FormMailer sind anhand des "automatischen Charakters", viel Standard-Text, Links und Mailadressen, unpersönlich, von einem Webserver versendet sowieso schon Spamverdächtig, der Einsatz von HTML-Mails kann dann noch der Tropfen sein, der das Fass zum überlaufen bringt und das Mail endgültig als Spam markiert.
 
Bei dir ist es aber wohl nicht so ein Problem: du sendest die Mails ja an dich selber und die werden entweder als Spam markiert oder nicht (notfalls kannst du sie auch noch in eine Whitelist hinzufügen), da ist es nicht kritisch. Ärgerlich ist es, wenn Mails an Drittpersonen gehen und dort häufig im Spam landen, auf deren Spam-Filter hast du natürlich keinen Einfluss. Wie gesagt: muss überhaupt nicht sein, je mehr Spamindizien deine Mails aber enthalten, desto grösser die Wahrscheinlichkeit, dass ein Mail mal irrtümlich bei irgendwem als Spam markiert werden.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #17 am: 17. Januar 2009 um 14:57 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo
Jetzt habe ich sechs Formulare auf meinen zwei Websites erfolgreich auf den cgi formmailer mit CAPTCHA umgestellt. Dabei habe ich den mir von Jürg zur Verfügung gestellten Beta Release verwendet. Das Resultat könnt ihr hier einsehen:
 
http://www.bastide-midi.com/cgi-bin/formmailer.cgi?action=parsetemplate& amp;template=anfrage_frm und
http://www.bastide-immo.com/cgi-bin/formmailer.cgi?action=parsetemplate& amp;template=immo-form_d
 
Zu erwähnen habe ich noch, dass ich das Ding auf der IIE-5 (WINDOWS) Server Plattform nicht hingekriegt habe! Konsequenz war eine Zügelaktion Richtung LINUX / APACHE.
 
Und ganz zum Schluss möchte ich Jürg Sommer für seine Geduld und seinen Support ganz herzlich danken!!
 Smiley Smiley
« Zuletzt bearbeitet: 17. Januar 2009 um 14:58 von hazet » gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #18 am: 17. Januar 2009 um 17:37 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Besten Dank für dein Posting: die Formulare sehen nun ja wirklich gut aus.
 
Zum Thema Windows sei zu sagen: meine Scripts laufen grundsätzlich unter Windows, sofern a) Perl vorhanden ist und b) ein Sendmail-Clone für Windows. Ich selber entwickle sogar unter Windows (allerdings nicht mit dem IIS, sondern einem Freeware-Webserver namens Xitami, der für die Entwicklung super ist, ich aber nie produktiv nutzen würde, nicht zuletzt weil er seit über 5 Jahren nicht mehr weiterentwickelt wurde).
 
Dokumentation, Default-Pfade etc. sind aber natürlich auf Linux ausgelegt und wenn man wählen kann, würde ich klar Windows empfehlen.
 
In deinem Fall war der Wechsel auf Linux also mit Sicherheit die beste Variante, ein K.O.-Kriterium ist Windows aber grundsätzlich nicht.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #19 am: 19. Januar 2009 um 11:06 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
Ich habe mich noch mit "finetuning" beschäftigt und bin dabei auf folgendes Problem gestossen:
1) Ich will sicherstellen, dass in numerischen Pflichtfeldern nur Ziffern akzeptiert werden
2) Ich will sicherstellen, dass in Textfeldern keine "@" Zeichen vorkommen (ausser im Email-Adress-Feld)
Dazu habe ich alle Pflichtfelder mal mit dem Prefix "NNUL_" versehen.
Dann habe ich die numerischen Pflichtfelder im Administrator Formular im Abschnitt numerische Einschränkungen wie folgt eingetragen:
 
NNULL_feld~=~[0-9]
...
...
 
Für die Textfelder habe ich im Admin Formular im Abschnitt Text-Einschränkungen folgende Definitionen eingetragen:
 
NNUL_textfeld~!~[@]
...
...
 
Resultat:  
- Die Textfelder werden richtig validiert.
- Die numerischen Pflichtfelder werden als nicht ausgefüllt markiert, auch wenn der Inhalt korrekt ist.  
 
Was läuft beim numerischen Pflichtfeld falsch bzw. wie wird ein numerisches Pflichtfeld geprüft?
 Huh
 
Gruss Hans
 
Nachtrag um 16 Uhr:  
- habe es mit einem NUM_feld probiert und so unter Num. Einschränkung definiert: NUM_feld~=~[0-9]
--> prüft zwar auf numerischen Inhalt, lässt aber ein leeres Feld zu!
 
Deshalb nochmals die Frage: Wie wird ein numerisches Pflichtfeld definiert (ausschliesslicher Inhalt: Ziffern)?
« Zuletzt bearbeitet: 19. Januar 2009 um 16:00 von hazet » gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #20 am: 19. Januar 2009 um 22:13 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Zuerst: der Tag für Pflichtfelder ist etwas verkürzt und heisst "NNUL_" und nicht "NNULL_". Weiss nicht, ob es nur ein Fehler im Forumsbeitrag ist oder nicht.
 
Dann zu deiner Frage: bei den numerischen Einschränkungen sind nur Vergleiche erlaubt (Zahl grösser 15 etc.). Wenn du ein Feld auf die enthaltenen Zeichen prüfen willst - egal ob das Buchstaben oder Zahlen sind - musst du in die Text-Einschränkungen.
 
Dort ist wichtig, dass es immer ein ENTHÄLT ist, d.h. die Abfrage
 
meinfeld~=~[0-9]
 
ist wahr, sobald eine Zahl enthalten ist, also bei "123" aber auch bei "123test" oder "test123test". Das ist nicht das, was du willst. Mit ^ markierst du den Anfang eines Feldes, mit $ das Ende (im Adminbereich hat es übrigens einen Link "Regex". der die Perl Regular Expressions auch kurz erklärt).
 
Somit ist also ^[0-9]*$ Anfang des Strings, dann eine beliebige (0-n) Anzahl Zahlen und dann das Ende. Somit ist die Einschränkung
 
meinfeld~=~^[0-9]+$
 
von Anfang an mindestens 1, max. unendlich Zahlen und dann Ende. Das ist das, was du willst. Ob du es nun als NUM_ oder NNUL_ definierst ist somit eigentlich egal, da bereits die Inhaltsbeschreibung festlegt, dass mind. 1 Zeichen enthalten sein muss und nur Zahlen erlaubt sind.
 
Beachte: wenn auch Minus und Kommazahlen erlaubt sein sollen, lautet die Regel
 
meinfeld~=~^-?[0-9]*\.?[0-9]+$
 
Heisst:
^    beginn des Feldes
-?     Minuszeichen muss 0 oder 1x vorkommen
[0-9]*    beliebige Anzahl Zahlen (0 bis unendlich)
\.?     ein Punkt muss 0 oder einmal vorkommen
[0-9]+   mind. 1 Zahl
$   Ende des Feldes
 
Somit wäre
-1
1
1.00
.10
-.10
0.10
erlaubt. Wichtig: das erste [0-9] muss unbedingt mit einem * und nicht - was eigentlich logisch wäre - einem + geschrieben werden. Dies würde zwar bedeuten, dass bei Kommazahlen zwingend eine Zahl vor dem Punkt eingegeben werden muss (das wäre wohl beabsichtigt), heisst aber auch, dass mind. 1 Zahl kommen muss, dann optional ein Punkt und dann wieder mind. 1 Zahl. Somit erfüllt eine einstellige Zahl die erste Regel (mind. eine Zahl), die zweite (0 oder 1 Punkt, in diesem Fall 0) aber nicht die dritte (nochmals eine Zahl). Mit dieser Regel wären also nur Zahlen mit mind. 2 Stellen erlaubt.
 
Habe ich nun genug verwirrung gestiftet? Smiley Bei Fragen einfach nochmals melden.
 
Gruss
Jürg
 
PS: statt [0-9] kann man übrigens auch \d schreiben (steht für Digit). Auf die Funktionalität hat es aber keinen Einfluss und [0-9] wird problemlos funktioniereren.
^[0-9]+$
ist also gleichbedeutend wie
^\d+$
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #21 am: 20. Januar 2009 um 06:21 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
Herzlichen Dank für Deine wie immer ausführlichen und "geduldigen" Erklärungen. NNULL war ein (freudscher) Verschreiber . . . . Jetzt funktionieren meine Feldvalidierungen wie beabsichtigt! Smiley Smiley
Eine Anregung hätte ich noch: Ergänze bitte die Dokumentation im Bereich Adminformular und im Kapitel 7 mit Beispielen, wie in Deiner vorstehenden Antwort. Nicht Script Profis -wie ich einer bin- haben Mühe mit den "kryptischen" Bedeutungen der Sonderzeichen (erinnert mich irgendwie an pharaoniscche Hyroglyphen).
 
Schönen Tag und Gruss
Hans
gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #22 am: 20. Januar 2009 um 23:42 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Danke für deinen Vorschlag, habe die Dokumentation etwas ergänzt. Die Regular-Expressions sind aber halt schon sehr vielfältig (und durchaus auch etwas kryptisch): hat zwar den Vorteil, dass man wirklich fast alles mit denen machen kann, aber auch den Nachteil dass man sich etwas einarbeiten muss und ich wahrscheinlich tausend Beispiele bringen könnte und der Benutzer trotzdem nicht das findet, was er jetzt genau will.
 
Ich hoffe aber mit der neuen erweiterten Dokumentation sind dann nochmals ein paar Sachen klarer. Sonst kann man ja im Forum nachfragen Smiley
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #23 am: 30. Januar 2010 um 15:18 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
Ich bin zur Zeit beim "faceliften" einer meiner zwei Websites und habe dabei von CS GOLIVE auf DREAMWEAVER CS4 umgestellt. Dabei bin ich soweit gut vorangekommen. Nun scheitere ich aber an den Formularen.
Folgende Situation, die mich seit einigen Stunden fast zum Verzweifeln bringen:
- Das Formular (bzw. das template) wird von formmailer.cgi  so dargestellt, wie ich mir das vorgestellt habe
- aber schon beim erstmaligen Aufruf des Formulars erscheint die letzte Fehlermeldung "Es wurden nicht alle Felder korrekt ausgefüllt:! Siehe oben für Details" (<!--if:action!parsetemplate§<br><span class="hinweis"><b>Es wurden nicht alle Felder korrekt ausgef&uuml;llt:! Siehe oben für Details&lt;/b>&lt;/span>-->)
- es werden keine "Detailfehlerzeilen" angezeigt
- wenn ich im Firefox und IE8 den Seitencode anschaue, fällt mir auf, dass die Kommentarzeilen (mit dem code <--error . . . .-->) fehlen. Die werden wohl vom Browser unterdrückt?
- das seccode Feld wir korrekt angezeigt
 
Help help help . . . . Wo muss ich suchen!
 
Gruss Hans
gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #24 am: 30. Januar 2010 um 19:05 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Da du die Software geändert hast, würde ich da suchen. So wie es aussieht wurden Kommentare entfernt die Steuerzeichen
<!--feldname-->
sind ja HTML-Kommentare. Werden diese gelöscht oder aber verändert (z.B. Schlusszeichen an falscher Stelle), führt das natürlich zu Problemen. Wichtig ist, dass du das Template direkt in einem Editor anschaust und nicht den Quellcode vom IE: dort ist das Ergebnis bereits verarbeitet und entspricht nicht mehr dem Original-Template. Du kannst beispielsweise die Fehlermeldung anschauen: der Code, den du gepostet hast, also
 
<!--if:action!parsetemplate§<br><span class="hinweis"><b>Es wurden nicht alle Felder korrekt ausgef&uuml;llt:! Siehe oben für Details&lt;/b>&lt;/span>-->
 
ist korrekt. Schau dir das Template in einem Texteditor (notfalls Wordpad, besser aber ein vernünftiger wie unter http://www.cgicorner.ch/kb/textedit/Texteditoren aufgezählten, z.B. PsPad) an: wenn die Meldung schon am Anfang kommt, muss Dreamweaver da was umgestellt haben, z.B. das --> am Schluss weiter vorne platziert.
 
Generell sind "intelligente" WYSIWYG-Editoren wie Dreamweaver teilweise zu intelligent und verändern die Templates ungewollt. Das dürfte auch bei dir der Fall sein. Ich kenne Dreamweaver aber zu schlecht, um zu sagen, ob man da was einstellen kann, ggf. muss die Seite in einem reinen Texteditor nochmals etwas nachbearbeitet werden.
 
Ich hoffe, diese Info hilft dir weiter, asonsten sende mir bitte mal dein Template als ZIP-Archiv per E-Mail zu, dann schaue ich, wo Dreamweaver konkret was verändert hat.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten (DREAMEAVER bug?!)
« Antworten #25 am: 31. Januar 2010 um 08:05 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
es scheint sich tatsächlich um einen DREAMWEAVER bug zu handeln:
- wenn ich im Code vor der "Publikation" (hochladen auf den Server) reinschaue, sieht alles korrekt aus!
- wenn ich danach den Code auf dem Server anschaue, stelle ich fest, dass plötzlich vor den Paragraf-Zeichen in den Kommentarfeldern ein zusätzliches Zeichen "Â" steht. Das sieht dann so aus: "Mme.§selected" anstatt "Mme.§selected". Huh Wieso DREAMWEAVER dazu kommt, in Eigenregie den Kommentarcode abzuändern, ist mir rätselhaft. Was hat die SW dort drin zu suchen? Tatsache ist, dass deswegen wieder mal viel Zeit nutzlos vertan wurde . . .AngryAngry
Ich werde einen Bug report an ADOBE loslassen. Vielleicht ist's sogar ein bekanntes Problem. (Ich hatte erst vorgestern die letzten Updates nachgeladen . . . .).
Danke für Deinen wie immer hilfreichen Support.
Gruss und schönen Sonntag
Hans
gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
cgicorner.ch
YaBB Administrator
*****




Board Admin

   
Homepage E-Mail

Geschlecht: male
Beiträge: 787
Re: Formmailer einrichten
« Antworten #26 am: 31. Januar 2010 um 14:00 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Hans
 
Ja, die mitdenkenden HTML-Editoren, nur Ärger... Smiley
 
Evtl. könnte es mit der Zeichensatz-Codierung zusammenhängen, dass da in UTF8 codiert wird. Weiss es aber nicht genau.
 
Grundsätzlich ist es mit jedem WYSIWYG-Editor immer etwas gefährlich, Templates zu editieren, die später von einem Script nochmals verarbeitet und erst dann ausgegeben werden, zu editieren. Da sind - nicht nur bei mir - gewisse "Regeln" einzuhalten, an denen automatische Optimierungsversuche der Programme nicht selten scheitern. Wenn immer möglich würde ich also für Templates zu einem reinen Texteditor raten: ist zwar etwas mühsamer, weil man dann den HTML-Code editieren muss, dafür wird sicher nicht verändert...
 
Mal sehen, ob du von Adobe diesbezüglich ein Feedback erhälst. Auf jeden Fall natürlich auch dir einen schönen Sonntag.
 
Gruss
Jürg
gespeichert

cgicorner.ch - Informationen rund um Perl/CGI
Jürg Sommer
hazet
YaBB Newbie
*



I love YaBB 1G - SP1!

   
Homepage

Geschlecht: male
Beiträge: 19
Re: Formmailer einrichten
« Antworten #27 am: 01. Februar 2010 um 08:19 »
Zitieren Zitieren Bearbeiten Bearbeiten

Hallo Jürg
Es gibt im Webdesign kaum etwas "mühsameres" als Formulare! Ich verstehe nicht, weshalb die Webstandards diesbezüglich nichts wirklich neues anbieten bzw. die Web Design Entwicklungs Industrie diesbezüglich keine neuen Ideen hat und einfach zu verwendende Werkzeuge anbietet. Die Notwendigkeit, auf Code Ebene rumwühlen zu müssen, sollte endlich auf dem Müllhaufen der Geschichte entsorgt werden. . . . .
Gruss und schönen Tag
Hans
gespeichert

Wer Angst hat, Fehler zu machen, hat schon den ersten gemacht!
Seiten: 1 2  Antworten Antworten Bei Antworten benachrichtigen Bei Antworten benachrichtigen Drucken Drucken

« Vorheriges Thema | Nächstes Thema »

cgicorner.ch » Powered by YaBB 1 Gold - SP3!
YaBB © 2000-2004. All Rights Reserved.