was das script macht, ist relativ einfach:
(1) es wird geprüft, ob das formular überhaupt versendet worden ist. falls nicht, wird das formular ausgegeben.
(2) wenn das formular versendet worden ist, wird geprüft, ob alle felder richtig ausgefüllt worden sind. falls das nicht der fall sein sollte, wird das formular erneut ausgegeben mit fehlermeldungen (farblich hinterlegte felder).
(3) wenn die zweite prüfung erfolgreich war, wird der emailversand durchgeführt.
das heisst eigentlich nichts anderes, als dass - wenn keine fehlermeldung erscheint - aus sicht des scriptes keine beanstandungen vorliegen und der email-versand durchgeführt wird. es ist natürlich nicht ausgeschlossen, dass es noch zeichen gibt, die einen versand zu unterdrücken vermögen.
bei mir funktioniert es allerdings immer. ich kann leider die auftretenden fehler leider nicht reproduzieren.
wenn beim email-versand probleme auftauchen sollten, dann müsste sich der fehler in der methode 'sendEmail()' finden (repektive in den methoden, welche von dieser methode aufgerufen werden).
hope this helps!
gruss,
andreas
kein mailversand mit w3concepts.form.v1
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Hallo Andreas,
nun hatte ich noch etwas Zeit um zu probieren und ganz klar, wie Du geschrieben hast, wird natürlich das fehlerhafte Feld nach der Validierung farbig unterlegt.
Nur da liegt das Problem. Ich hatte zwar die eMail-Adressen eingerichtet, das Feld für die Fehler-Farbe jedoch freigelassen. Somit kann natürlich auch keine Fehlersignalisierung stattfinden. Vielleicht ist es sinnvoll, dort von Hause eine Farbe als Vorschlag (mit Value vermutlich) vorzulegen. Ich schätze, die anderen hier haben den selben Fehler begangen und somit das Problem nicht erkannt.
Bleibt noch das Problem mit dem 'Enter' in der Textarea. Wie wird denn das 'Enter' bzw. mit welchem Zeichen wird es vom Script verschickt? Würde wenn es geht dann einen neuen Valid-Typ z.B. 'Textarea' oder 'Textfeld' definieren, in dem dann das 'Enter' vorkommen darf.
Ist dieses möglich?
Gruß aus Berlin
Daniel
nun hatte ich noch etwas Zeit um zu probieren und ganz klar, wie Du geschrieben hast, wird natürlich das fehlerhafte Feld nach der Validierung farbig unterlegt.
Nur da liegt das Problem. Ich hatte zwar die eMail-Adressen eingerichtet, das Feld für die Fehler-Farbe jedoch freigelassen. Somit kann natürlich auch keine Fehlersignalisierung stattfinden. Vielleicht ist es sinnvoll, dort von Hause eine Farbe als Vorschlag (mit Value vermutlich) vorzulegen. Ich schätze, die anderen hier haben den selben Fehler begangen und somit das Problem nicht erkannt.
Bleibt noch das Problem mit dem 'Enter' in der Textarea. Wie wird denn das 'Enter' bzw. mit welchem Zeichen wird es vom Script verschickt? Würde wenn es geht dann einen neuen Valid-Typ z.B. 'Textarea' oder 'Textfeld' definieren, in dem dann das 'Enter' vorkommen darf.
Ist dieses möglich?
Gruß aus Berlin
Daniel
hallo daniel
du solltest im script folgenden block finden:
diesem block kannst du noch folgende prüfung hinzufügen:
dann solltest du wie gewünscht eine validierung für textarea zur verfügung haben.
hope this helps.
gruss,
andreas
du solltest im script folgenden block finden:
Code: Alles auswählen
// regular expression prüfungen
if (!empty($feld['valid']) && $feld['valid'] == 'simpletext' && !eregi("^[ öäüéàèâêîça-z0-9-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'text' && !eregi("^[ .,;!?()öäüéàèâêîça-z0-9-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'integer' && !eregi("^[0-9]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'float' && !eregi("^[0-9]*[.]{0,1}[0-9]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'date' && !eregi("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{2}$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'email' && !eregi("^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$",$_POST["{$feld['name']}"])) return false;
Code: Alles auswählen
if (!empty($feld['valid']) && $feld['valid'] == 'textarea' && !eregi("^[ öäüéàèâêîça-z0-9-\n\r]*$",$_POST["{$feld['name']}"])) return false;
hope this helps.
gruss,
andreas
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Das war leider nix ...
Hallo Andreas,
so dachte ich es mir auch, war mir mit dem \n\r aber nicht sicher. Habe es jetzt mal implementiert, aber leider akzeptiert das Script jetzt keinerlei Eingabe in das Feld. Keine Buchstaben, keine Zahlen ... nichts.
Muß man das vielleicht noch irgendwie in Klammern setzen? Da fehlen dann meine PHP-Kenntnisse. Meine beiden schlauen PHP-Bücher, schreiben auch nur das \ als Vorsatz für Sonderzeichen vor.
Ratlosigkeit ....
Daniel
so dachte ich es mir auch, war mir mit dem \n\r aber nicht sicher. Habe es jetzt mal implementiert, aber leider akzeptiert das Script jetzt keinerlei Eingabe in das Feld. Keine Buchstaben, keine Zahlen ... nichts.
Muß man das vielleicht noch irgendwie in Klammern setzen? Da fehlen dann meine PHP-Kenntnisse. Meine beiden schlauen PHP-Bücher, schreiben auch nur das \ als Vorsatz für Sonderzeichen vor.
Ratlosigkeit ....
Daniel
sorry, war mein fehler. ein \ dient als escape-zeichen in php und ein \ braucht die regexprüfung. also braucht es wahrscheinlich deren zwei. probier mal folgende prüfunge aus:
vielleicht geht's damit.
Code: Alles auswählen
if (!empty($feld['valid']) && $feld['valid'] == 'textarea' && !eregi("^[ öäüéàèâêîça-z0-9-\\n\\r]*$",$_POST["{$feld['name']}"])) return false;
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
Hallo Andreas,
Nee, damit gehts auch nicht. Schade. Habe auch noch andere Varianten "probiert", komme aber auf keinen Nenner. Leider gibt meine Literatur hierzu kein Beispiel.
Soll es nur die Möglichkeit geben, daß man keine Textarea einsetzt oder den User darum bittet, keinen Zeilenumbruch einzufügen?
Gruß aus Berlin
Daniel
Nee, damit gehts auch nicht. Schade. Habe auch noch andere Varianten "probiert", komme aber auf keinen Nenner. Leider gibt meine Literatur hierzu kein Beispiel.
Soll es nur die Möglichkeit geben, daß man keine Textarea einsetzt oder den User darum bittet, keinen Zeilenumbruch einzufügen?
Gruß aus Berlin
Daniel
ich schaue mir das ganze nochmals an und gebe dann hier bescheid. ich bin im moment allerdings in bisschen unter druck. es könnte also schon ein paar tage dauern.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)