neues formularmodul :: w3concepts.form.v1

Enigma
Beiträge: 50
Registriert: Mi 8. Jun 2005, 05:55
Wohnort: Kiel
Kontaktdaten:

Beitrag von Enigma »

rapma hat geschrieben:die Fehlermeldung wird an genau der richtigen Stelle ausgewiesen, nur :( leider auch schon bevor der User irgendwas eingegeben hat, also ist es jetzt Bestandteil des Formulars.
Fällt dir dazu noch was ein?
Ups, übersehen... :roll:

Ich denke, wenn Du die Zeile

Code: Alles auswählen

if (!$this->formularVollstaendig()) {
in

Code: Alles auswählen

if ($sent and !$this->formularVollstaendig()) {
änderst, sollte es korrekt funktionieren. Hoffe ich... :wink: Sonst muss ich es doch selbst mal testen.

Gruß,
Jan
This message has been ROT-13 encrypted twice for higher security.
rapma
Beiträge: 10
Registriert: So 8. Aug 2004, 10:07
Kontaktdaten:

Beitrag von rapma »

:D Hallo Jan

vielen, vielen Dank für deine große Hilfe, es funktioniert jetzt einwandfrei, wenn der User ein Feld vergisst oder falsche Werte eingibt, erscheint am Anfang des Formulars für jeden sichtbar die Fehlermeldung.

liebe Grüsse
Manuela
bruderbarnabas
Beiträge: 43
Registriert: Do 15. Jan 2004, 22:04
Wohnort: München
Kontaktdaten:

Beitrag von bruderbarnabas »

Hi Leute,

tolles Modul, aber ich hab ein kleines Problem bei dem ich nicht weiterkomme und das für euch bestimmt ein Zuckerschlecken ist ;)

Und zwar benutze ich mehrere Felder zur Eingabe von "Name", Telefon, Email ect.

Das Problem mit Zahlen und Text in einem "Text"feld habe ich hinbekommen.
Was allerdings nicht funktioniert sind die Zeichen "ß" im $feld['valid'] == 'textmitzahlen'
und "@", "_" und "." im $feld['valid'] == 'email'

Das sind meine Abfragen:
// regular expression prüfungen
if (!empty($feld['valid']) && $feld['valid'] == 'simpletext' && !eregi("^[öäüéàèâêîça-z-]*$",$_POST["{$feld['name']}"])) return false;
if (!empty($feld['valid']) && $feld['valid'] == 'text' && !eregi("^[ .,;!?()öäüéàèâêîça-z-]*$",$_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'] == 'textmitzahlen' && !eregi("^[ .,;!?()öäüéàèâêîça-z0-9-]*$",$_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;
könnt Ihr mir da helfen?
Das Beispiel des Formulars seht ihr hier:
http://bernd-thierfelder.de/cms/front_c ... hp?idcat=7

Danke euch!

Bye
Basti
/:::::::::::::::::::::::\
| www.danruffs.de |
\:::::::::::::::::::::::/
Godlike
Beiträge: 6
Registriert: Sa 3. Sep 2005, 19:00
Kontaktdaten:

Beitrag von Godlike »

kummer hat geschrieben:zeilenumbruchproblem behoben

das problem bei zeilenumbrüchen in textfeldern habe ich lösen können. dazu muss in der methode 'formularFeldKorrekt()' folgende zeile zusätzlich eingefügt werden:

Code: Alles auswählen

if (!empty($feld['valid']) && $feld['valid'] == 'textmitumbruch' && !eregi("^[ \n\r.,;!?()öäüéàèâêîça-z0-9-]*$",$_POST["{$feld['name']}"])) return false;
in der konfiguration muss dann einfach anstatt 'valid:text' 'valid:textmitumbruch' verwendet werden.

man kann selbstverständlich auch einfach die bestehende zeile 'text' durch 'textmitumbruch' ersetzten und dann in 'text' umbenennen. allerdings dürfte es nie schaden, eine vielfalt an regex-prüfungen zur verfügung zu haben. es könnte ja sein, dass in einem einzelfall genau der ausschluss von zeilenumbrüchen gefragt sein könnte.

gruss,
andreas


Hallo Andreas,

Ich weiss leider nicht so genau wo ich diesen einsetzen soll?

Gruss,
Godlike
Godlike
Beiträge: 6
Registriert: Sa 3. Sep 2005, 19:00
Kontaktdaten:

Beitrag von Godlike »

Und noch eine Frage, wo kann man diesen "Style" einsetzen? Der Textfeld sollte verschönert werden.

Code: Alles auswählen

style="background-color:rgb(204,204,204); border-width:1px; border-color:rgb(102,102,102); border-style:solid;"
Gruss,
Godlike
kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer »

Godlike hat geschrieben:Und noch eine Frage, wo kann man diesen "Style" einsetzen? Der Textfeld sollte verschönert werden.

Code: Alles auswählen

style="background-color:rgb(204,204,204); border-width:1px; border-color:rgb(102,102,102); border-style:solid;"
Gruss,
Godlike
du kannst einfach einen generellen style im css definieren, der für alle textfelder geltung hat. ist am einfachsten und führt zu maximaler konsistenz. immer vorausgesetzt natürlich, dass du nicht im einzelfall (also nur für dieses formular) andere stile benötigst.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

kummer hat geschrieben:du kannst einfach einen generellen style im css definieren, der für alle textfelder geltung hat. ist am einfachsten und führt zu maximaler konsistenz. immer vorausgesetzt natürlich, dass du nicht im einzelfall (also nur für dieses formular) andere stile benötigst.
wenn man es dennoch dezitiert setzen will, kann man das hier einbauen
-> http://contenido.org/forum/viewtopic.php?p=46196#46196
eine anmerkung dazu findet sich ebenso im ersten teil dieses postings -> http://contenido.org/forum/viewtopic.php?p=50504#50504
*** make your own tools (wishlist :: thx)
Godlike
Beiträge: 6
Registriert: Sa 3. Sep 2005, 19:00
Kontaktdaten:

Beitrag von Godlike »

Es wurden eine paar Anderungen vorgenommen. Vielen Dank, das Einfügen von Styles klappt jetzt wunderbar. :D

emergence hat geschrieben:etwas wie
style:"width:600px; color:blue;";;;;;
geht nun ohne weiteres...

Code: Alles auswählen

function formularInterpretation(&$formular) { 

      $felder = split('###',$formular); 

      for ($i=1;$i<count($felder);$i=$i+2) { 

         $tempField = trim(html_entity_decode($felder[$i])); 

         $container = ""; 
            
         if (preg_match_all('/("[^"]+")/i', $tempField, $matches)) { 
            $x = 0; 
            foreach ($matches[0] as $match) { 
               $x++; 
               $tempField = str_replace ($match , "###".$x."###", $tempField) ; 
               $container[$x] = str_replace ('"', "", $match); 
            } 
         } 

         $attributes = split(';',$tempField ); 
         foreach ($attributes as $attribut) { 

            if ($attribut != "") { 

               $namewert = split(':',trim($attribut)); 

               if (preg_match('/###(\d)###/i', $namewert[1] , $match)) { 
               $namewert[1] = $container[intval($match[1])]; 
               } 
                                                                
               if ($namewert[0] != 'option' && $namewert[0] != 'optionvalue') { 
                  $feld["{$felder[$i]}"]["{$namewert[0]}"] = $namewert[1]; 
               } else { 
                  $feld["{$felder[$i]}"]["{$namewert[0]}"][] = $namewert[1]; 
               } 
            } 
         } 
      } 

      return $feld; 
   }

Code: Alles auswählen

$style = $attribute['style']; 
      if ($sent && !$this->formularFeldKorrekt(&$attribute)) $style.=" background-color:{$this->form['colorError']};"; 

      if ($style != "") $style = 'style="'.$style.'"'; 

      if (!empty($attribute['class'])) { $style = 'class="'.$attribute['class'].'" '.$style; }
Es grüsst Ihnen,
Godlike
benzomat
Beiträge: 42
Registriert: So 21. Aug 2005, 17:42
Wohnort: Ossiach / Österreich
Kontaktdaten:

absender in der mail zum antworten

Beitrag von benzomat »

hallo Jan (Enigma),
dein formular habe ich erfolreich eingebaut, klappte ganz gut.
ich habe noch nicht so große ahnung von php und so und mir fehlt die funktion, dass in der mail die absender mailadresse und der name drin steht - damit man gleich auf antworten gehen kann. die änderungen mit dem austauschen der einen zeile auf seite 10 kann ich bei deinem code nicht verstehen.
kannst du mir bitte helfen, wo ich da was ändern muss?
ansonsten ist der code, der von seite 12 geblieben.
in der tabelle im artikel muss ich ja nix ändern...
ach ja, was gebe ich wo ein, um in der mail auch datum und die zeit zu haben?
gibt es noch eine neueree version als die von seite 12??
danke schon mal vorab,
grüße aus kärnten,
Hans
meine version 4.4.5-r1
fancypants.ch
Beiträge: 23
Registriert: Di 4. Okt 2005, 10:12
Kontaktdaten:

Beitrag von fancypants.ch »

hi

ich habe das formular mit der erweiterung von enigma (Seite 12) erfolgreich eingebaut.

es funktioniert alles einwandfrei. jedoch habe ich eine frage zur bestätigungsseite. wie der name schon sagt, sollte diese seite ja zur bestätigung dienen.

doch da ich eine druckvorschau benütze, (ein modul), erscheint die bestätigung nicht im druckvorschau fenster, sondern lediglich der

Code: Alles auswählen

###send_data###


kann mir jemand helfen?

danke im voraus. gruss
Pillendreher
Beiträge: 81
Registriert: Di 3. Mai 2005, 17:56

Beitrag von Pillendreher »

sag mal kummer, gibt es eine möglichkeit bei dem email-formular auch einen anhang mit ranzubasteln (z.B. ein Bild)?

wenn ja, weißt du wie?

gruß
simon
GOLD
Beiträge: 71
Registriert: Sa 14. Aug 2004, 22:24
Kontaktdaten:

Beitrag von GOLD »

kann mir jemand sagen was ich ändern muss, um einen weiteren empfänger einzubauen?
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag von dampfradio »

@kummer

Habe ein Problem mit der Validierung der Formulardaten und dem FCK-Editor: Ich denke mal, weil der FCK Umlaute automatisch etc. im Text als Entities encoded, funktioniert die Validierung z.B. von Angaben mit Umlauten nicht mehr richtig. Er moniert irgendwie alle Angaben mit Umlauten. Bin mit den regex nicht wirklich sehr vertraut..
Wie kann ich da Abhilfe schaffen?


--
4.5.3b MR stese 1.05 mit FCK2.0
Enigma
Beiträge: 50
Registriert: Mi 8. Jun 2005, 05:55
Wohnort: Kiel
Kontaktdaten:

Beitrag von Enigma »

dampfradio hat geschrieben:Habe ein Problem mit der Validierung der Formulardaten und dem FCK-Editor: Ich denke mal, weil der FCK Umlaute automatisch etc. im Text als Entities encoded, funktioniert die Validierung z.B. von Angaben mit Umlauten nicht mehr richtig. Er moniert irgendwie alle Angaben mit Umlauten. Bin mit den regex nicht wirklich sehr vertraut..
Wie kann ich da Abhilfe schaffen?
Ich verstehe ehrlich gesagt nicht so recht, was der FCKeditor damit zu tun hat. Die Zeichen für die Validierung sind im PHP-Code des Moduls abgelegt, und wenn etwas in das definierte Formular eingegeben wird, hat der FCKeditor auch nichts damit zu tun...

Gruß,
Jan
This message has been ROT-13 encrypted twice for higher security.
dampfradio
Beiträge: 62
Registriert: Do 2. Jun 2005, 09:41
Wohnort: BaWü
Kontaktdaten:

Beitrag von dampfradio »

Es ist so: Es scheint so, als würden bei mir (v4.5.3b MR von stese) alle im Quellcode vorkommenden Umlaute automatisch in Entities gewandelt (in den Systemeinstellungen im Backend ist XHTML aktiviert). Ob es mit dem FCK zusammenhängt oder in Con direkt passiert, weiß ich ehrlich gesagt nicht. Und daher funktioniert auch die Formular-Validierung nicht mehr. Siehe PM.
Über Hilfe wäre ich sehr sehr dankbar.
Gesperrt