w3concepts.form.v1
Warning: Invalid argument supplied for foreach() in /mnt/kw2/07/257/00000004/htdocs/front_content.php(792) : eval()'d code on line 178
Leider bekomme ich die oben stehende Fehlermeldung dabei ist das Formular soooo prima zum konfigurieren und ich habe leider keine Ahnung was ich mit der Fehlermeldung anfangen kann.
Hat jemand einen Rat ?
Bitte um Hilfe zum Kontaktformular: w3concepts.form.v1
muss nicht was mit dem formular zu tun haben
sieh dir den generierten code an...
-> http://contenido.org/forum/viewtopic.ph ... tput#70160
sieh dir den generierten code an...
-> http://contenido.org/forum/viewtopic.ph ... tput#70160
*** make your own tools (wishlist :: thx)
komm leider nicht weiter
Dein Tipp war prima Danke. Nur leider hilft mir das bei diesem Problem nicht weiter.
http://www.stb-scheck.de/front_content. ... &idart=218
kann sich das mal jemand anschauen ? Der Ahnung hat.
Danke
http://www.stb-scheck.de/front_content. ... &idart=218
kann sich das mal jemand anschauen ? Der Ahnung hat.
Danke
-
- Beiträge: 1758
- Registriert: Mo 1. Aug 2005, 00:35
- Wohnort: in der schönen Hallertau, mitten im Hopfen
- Kontaktdaten:
Re: komm leider nicht weiter
wäre ich emergence könnte ich das fast persönlich nehmengap hat geschrieben:kann sich das mal jemand anschauen ? Der Ahnung hat.

scherz beiseite wie soll man dir weiterhelfen? emergence hinweis scheint mir schon der rechte, und wenn ich auf deinen link clicke sieht alles prima aus.
nachtrag:
kann das form nicht absenden, egal was ich eingebe kommt immer der red BG für error
Grüsse, Guido
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
das ist mir ja suuuper peinlich
Danke für Deine Hilfe und natürlich danke an emergence der ja immer und jedem Hilfreich zur Verfügung steht wie ich das an seinen Beiträgen sehen kann
und das auch immer pronto.
Das Formular sieht o.k. aus wie du sagst und der Fehler entsteht beim absenden glaube du hast nur vergessen die Anrede auszuwählen vielleicht nicht ganz übersichtlich.
Mit jemand der Ahnung hat meinte ich jeden außer mir und obwohl mir emergnece ja schon einen Tipp gegeben hat kann ich Ihn doch nicht jedes mal belasten. Bei einem unverpfuschten Testmandantenhabe ich übrigens das gleiche problem.
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.form.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 20-08-2004
* Modified : 20-08-2004
************************************************/
class w3form {
var $email, $aufgedroeselt, $form, $formularFeld;
function w3form() {
}
// PRIVATE
function sendEmail() {
$this->aufdroeseln($this->suppress('sent'));
$this->generateEmailMessage();
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
}
// PRIVATE
function aufdroeseln($aufzudroeseln,$prefix = '') {
foreach ($aufzudroeseln as $key => $value) {
if (is_array($value)) {
$this->aufdroeseln($value,$key." ");
} else {
$this->aufgedroeselt["{$prefix}{$key}"] = $value;
}
}
}
// PRIVATE
function add2Message($key,$value) {
if (strlen($key) > 25 OR strlen($value) > 54) {
$this->email['message'] .= "$key\n$value\n";
} else {
$this->email['message'] .= $key;
$this->email['message'] .= str_repeat(' ',25-strlen($key));
$this->email['message'] .= "$value\n";
}
}
// PRIVATE
function generateEmailMessage() {
if ($this->aufgedroeselt) foreach ($this->aufgedroeselt as $key => $value) {
$this->add2Message($key,$value);
}
}
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
// PUBLIC
function addEmailAdress($email) {
if (empty($this->emailAdresses)) {
$this->email['adresses'] .= "$email";
} else {
$this->email['adresses'] .= ", $email";
}
}
// PUBLIC
function setEmailSubject($subject) {
$this->email['subject'] = $subject;
}
// PUBLIC
function setEmailFrom($email,$name) {
$this->email['from']['email'] = $email;
$this->email['from']['name'] = $name;
}
// PUBLIC
function setForm($form) {
$this->form['form'] = $form;
}
// PUBLIC
function setAnswer($answer) {
$this->form['answer'] = $answer;
}
// PUBLIC
function setBackgroundError($color) {
$this->form['colorError'] = $color;
}
// PRIVATE
function formularInterpretation(&$formular) {
$felder = split('###',$formular);
for ($i=1;$i<count($felder);$i=$i+2) {
$attributte = split(';',trim($felder[$i]));
foreach ($attributte as $attribut) {
$namewert = split(':',trim($attribut));
if ($namewert[0] != 'option' && $namewert[0] != 'optionvalue') {
$feld["{$felder[$i]}"]["{$namewert[0]}"] = $namewert[1];
} else {
$feld["{$felder[$i]}"]["{$namewert[0]}"][] = $namewert[1];
}
}
}
return $feld;
}
// PRIVATE
function formularAusgabe($sent = false) {
echo '<form action="" method="POST">';
echo '<input type="hidden" name="sent" value="true" />';
$formular = $this->form['form'];
$formulardaten = $this->formularInterpretation(&$formular);
$formular = split('###',$formular);
foreach ($formular as $formularteil) {
if (!empty($formulardaten["{$formularteil}"])) {
$this->formularFeld($formulardaten["{$formularteil}"],$sent);
} else {
echo $formularteil;
}
}
echo '</form>';
}
// PRIVATE
function formularFeld($attribute,$sent) {
$parameter = "name=\"{$attribute['name']}\"";
if ($sent && !$this->formularFeldKorrekt(&$attribute)) $style ="style=\"background-color:{$this->form['colorError']};\"";
switch ($attribute['type']) {
case 'select':
case 'password':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
break;
}
switch ($attribute['type']) {
case 'textarea':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
if (!empty($attribute['value'])) $value = $attribute['value'];
if (!empty($_POST["{$attribute['name']}"])) $value = $_POST["{$attribute['name']}"];
break;
}
switch ($attribute['type']) {
case 'text':
echo "<input type=\"text\" $parameter value=\"$value\" $style />";
break;
case 'password':
echo "<input type=\"password\" $parameter value=\"$value\" $style />";
break;
case 'textarea':
echo "<textarea name=\"{$attribute['name']}\" cols=\"";
echo (empty($attribute['cols']))?('20'):($attribute['cols']);
echo "\" rows=\"";
echo (empty($attribute['rows']))?('2'):($attribute['rows']);
echo "\" wrap=\"virtual\" $style>$value</textarea>";
break;
case 'select':
echo "<select $parameter $style>";
for ($i=0;$i<count($attribute['option']);$i++) {
if (!empty($attribute['optionvalue'][$i])) {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['optionvalue'][$i]) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && !empty($attribute['optionvalue'][$i]) && $attribute['optionvalue'][$i] == $attribute['value']) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option value=\"{$attribute['optionvalue'][$i]}\">{$attribute['option'][$i]}</option>\n";
}
}
} else {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['option'][$i]) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && $attribute['option'][$i] == $attribute['value']) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option>{$attribute['option'][$i]}</option>\n";
}
}
}
}
echo "</select>";
break;
case 'checkbox':
$formularbezeichner = preg_split('[\[|\]]',$attribute['name']);
if ($sent) {
if ($_POST["{$formularbezeichner[0]}"]["{$formularbezeichner[1]}"] == $attribute['value']) {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
case 'radio':
if (!empty($_POST["{$attribute['name']}"])) {
if ($_POST["{$attribute['name']}"] == $attribute['value']) {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" />";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
}
}
// PRIVATE
function formularVollstaendig() {
$formular = $this->form['form'];
$felder = $this->formularInterpretation(&$formular);
foreach ($felder as $feld) {
if (!$this->formularFeldKorrekt(&$feld)) return false;
}
return true;
}
// PRIVATE
function success() {
$this->sendEmail();
echo $this->form['answer'];
}
// PRIVATE
function formularFeldKorrekt(&$feld) {
// prüfung, ob pflichtfeld vorhanden
if (!empty($feld['mandatory']) && $feld['mandatory'] == 'true' && empty($_POST["{$feld['name']}"])) return false;
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben
if (empty($_POST["{$feld['name']}"])) return true;
// 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'] == 'email' && !eregi("^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$",$_POST["{$feld['name']}"])) return false;
// grössenbereich bei integer und float prüfen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) return false;
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) return false;
// längenbereich bei allen typen prüfen
if (!empty($feld['minlength']) && strlen($_POST["{$feld['name']}"]) < $feld['minlength']) return false;
if (!empty($feld['maxlength']) && strlen($_POST["{$feld['name']}"]) > $feld['maxlength']) return false;
return true;
}
//PUBLIC
function process() {
if (!isset($_POST['sent'])) {
$this->formularAusgabe();
} elseif ($this->formularVollstaendig()) {
$this->success();
} else {
$this->formularAusgabe(true);
}
}
}
if ($edit) {
echo "<h1>Formularkonfiguration</h1>";
echo "<p>Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:</p>";
echo "<TABLE class=text border=0>
<TBODY>
<TR>
<TD> </TD>
<TD><STRONG>Absender:</STRONG></TD>
<TD> </TD></TR>
<TR>
<TD> </TD>
<TD>
<P>Anrede:</P></TD>
<TD>
<P>###name:anrede; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Frau; optionvalue:1; option:Herr; optionvalue:2;option:Firma; optionvalue:3; value:0;minvalue:1###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Vorname:</TD>
<TD>
<P>###name:vorname; type:text; valid:simpletext; size:30; mandatory:true###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Nachname:</TD>
<TD>###name:nachname; type:text; valid:simpletext; size:30; mandatory:true###</TD></TR>
<TR>
<TD> </TD>
<TD>E-Mailadressse:</TD>
<TD>###name:e-mailadresse; type:text; valid:e-mail; size:30; mandatory:true### </TD></TR>
<TR>
<TD> </TD>
<TD>Land:</TD>
<TD>###name:land; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Deutschland; optionvalue:1; option:Oesterreich; optionvalue:2;option:Schweiz; optionvalue:3;option:andere; optionvalue:4; value:1;minvalue:1###</TD></TR>
<TR>
<TD> </TD>
<TD vAlign=top>Ansprechpartner:</TD>
<TD>
<P>###name:Ansprechpartner; type:select; valid:text; size:1; option:bitte auswaehlen; option:Sekretariat; option:online-support; option:Buchhaltung; value:Sekretariat###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Interessen:</TD>
<TD>
<P>###name:interesse[0]; type:checkbox; valid:text; value:Steuern; selected:true### Steuern<BR>###name:interesse[1]; type:checkbox; valid:text; value:Wirtschaft### Wirtschaft<BR>###name:interesse[2]; type:checkbox; valid:text; value:Treuhand### Treuhand<BR>###name:interesse[3]; type:checkbox; valid:text; value:Service; ### Service<BR>###name:interesse[4]; type:checkbox; valid:text; value:sonstiges### Sonstiges</P></TD></TR>
<TR>
<TD> </TD>
<TD>Ihre Nachricht:</TD>
<TD> ###name:bemerkungen; type:textarea;size:30; valid:text; rows:6; cols:30###</TD></TR>
<TR>
<TD colSpan=3>
<P align=center><INPUT type=submit value=senden></P></TD></TR></TBODY></TABLE>";
echo "<p>Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:</p>";
echo "<TABLE border=0>
<TBODY>
<TR>
<TD> </TD>
<TD>
<P class=text><STRONG>Empfangsbestätigung<BR></STRONG>---------------------------------------------------------------------------------------------------<BR>Sehr geehrter Besucher, </P>
<P class=text>wir haben Ihre Anfrage soeben erhalten und werden diese in Kürze bearbeiten.</P>
<P class=text>Mit freundlichen Grüßen aus Garmisch-Partenkirchen<BR>Ihr <STRONG>Fritz Scheck</STRONG> Steuerberater<BR>---------------------------------------------------------------------------------------------------<BR><STRONG>Fritz Scheck</STRONG> - Steuerberater<BR>Zugspitzstraße 33 - D-82467 Garmisch-Partenkirchen<BR>Telefon: +49 8821 9669-200 - Telefax +49 8821 9669-210<BR>E-mail: <IMG height=11 src=\"upload/bilder/mail_support.gif\" width=116 align=middle border=0> -Web: <A href=\"../../\">www.stb-scheck.de</A> </P></TD></TR>
<TR>
<TD> </TD>
<TD> </TD></TR></TBODY></TABLE>";
} else {
$formular = new w3form();
$formular->addEmailAdress("web@stb-scheck.de");
$formular->setEmailSubject("Nachricht aus dem Web");
$formular->setEmailFrom("","Steuerkanzlei Scheck");
$formular->setBackgroundError("red");
$formular->setForm("<TABLE class=text border=0>
<TBODY>
<TR>
<TD> </TD>
<TD><STRONG>Absender:</STRONG></TD>
<TD> </TD></TR>
<TR>
<TD> </TD>
<TD>
<P>Anrede:</P></TD>
<TD>
<P>###name:anrede; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Frau; optionvalue:1; option:Herr; optionvalue:2;option:Firma; optionvalue:3; value:0;minvalue:1###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Vorname:</TD>
<TD>
<P>###name:vorname; type:text; valid:simpletext; size:30; mandatory:true###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Nachname:</TD>
<TD>###name:nachname; type:text; valid:simpletext; size:30; mandatory:true###</TD></TR>
<TR>
<TD> </TD>
<TD>E-Mailadressse:</TD>
<TD>###name:e-mailadresse; type:text; valid:e-mail; size:30; mandatory:true### </TD></TR>
<TR>
<TD> </TD>
<TD>Land:</TD>
<TD>###name:land; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Deutschland; optionvalue:1; option:Oesterreich; optionvalue:2;option:Schweiz; optionvalue:3;option:andere; optionvalue:4; value:1;minvalue:1###</TD></TR>
<TR>
<TD> </TD>
<TD vAlign=top>Ansprechpartner:</TD>
<TD>
<P>###name:Ansprechpartner; type:select; valid:text; size:1; option:bitte auswaehlen; option:Sekretariat; option:online-support; option:Buchhaltung; value:Sekretariat###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Interessen:</TD>
<TD>
<P>###name:interesse[0]; type:checkbox; valid:text; value:Steuern; selected:true### Steuern<BR>###name:interesse[1]; type:checkbox; valid:text; value:Wirtschaft### Wirtschaft<BR>###name:interesse[2]; type:checkbox; valid:text; value:Treuhand### Treuhand<BR>###name:interesse[3]; type:checkbox; valid:text; value:Service; ### Service<BR>###name:interesse[4]; type:checkbox; valid:text; value:sonstiges### Sonstiges</P></TD></TR>
<TR>
<TD> </TD>
<TD>Ihre Nachricht:</TD>
<TD> ###name:bemerkungen; type:textarea;size:30; valid:text; rows:6; cols:30###</TD></TR>
<TR>
<TD colSpan=3>
<P align=center><INPUT type=submit value=senden></P></TD></TR></TBODY></TABLE>");
$formular->setAnswer("<TABLE border=0>
<TBODY>
<TR>
<TD> </TD>
<TD>
<P class=text><STRONG>Empfangsbestätigung<BR></STRONG>---------------------------------------------------------------------------------------------------<BR>Sehr geehrter Besucher, </P>
<P class=text>wir haben Ihre Anfrage soeben erhalten und werden diese in Kürze bearbeiten.</P>
<P class=text>Mit freundlichen Grüßen aus Garmisch-Partenkirchen<BR>Ihr <STRONG>Fritz Scheck</STRONG> Steuerberater<BR>---------------------------------------------------------------------------------------------------<BR><STRONG>Fritz Scheck</STRONG> - Steuerberater<BR>Zugspitzstraße 33 - D-82467 Garmisch-Partenkirchen<BR>Telefon: +49 8821 9669-200 - Telefax +49 8821 9669-210<BR>E-mail: <IMG height=11 src=\"upload/bilder/mail_support.gif\" width=116 align=middle border=0> -Web: <A href=\"../../\">www.stb-scheck.de</A> </P></TD></TR>
<TR>
<TD> </TD>
<TD> </TD></TR></TBODY></TABLE>");
$formular->process();
}
?>
<?php $C22CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 22; ?>
<?php $C24CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 24; ?>
<?php $C26CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 26; ?>
<?php $C28CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 28; ?>
<br/><br/>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td style="background-color:rgb(149,148,147);"><img src="../images/grey.gif" width="1" height="1" border="0" alt="" title=""/></td></tr></table>
<div id="bottomnavi">
<?php $C30CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 99; ?><?php $cCurrentContainer = 30; ?><table width="400" class=fusszeile cellspa0cing="0" cellpadding="0">
<tr >
<td width="75" class="text"><a href="http://www.stb-scheck.de" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/home.gif" border="0" alt="Home"></a>Home</td>
<td width="75" class="text"><a href="javascript:self.print()"><img align="left" height="16" width="16" src="upload/bilder_icons/drucker.gif" border="0" alt="drucken"></a>drucken</td>
<td width="75" class="text"><a href="http://www.stb-scheck.de/front_content. ... =80&lang=1" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/kommentar_01.gif" border="0" alt="Kontakt"></a>Kontakt</td>
<td width="75" class="text"><a href="http://www.stb-scheck.de" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/kommentar_01.gif" border="0" alt="senden"></a>senden</td>
<td width="75" class="text"><a href="javascript:history.back()"><img align="left" height="16" width="16" src="upload/bilder_icons/pfeil_left_grau.gif" border="0" alt="zurück"> </a>zurück</td>
</tr>
</table>
</div>
</div>
<div id="left">
<?php $C44CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 44; ?>
<?php $C40CMS_VALUE[0]="1"; ?>
<?php $cCurrentModule = 9; ?><?php $cCurrentContainer = 40; ?><?php

Das Formular sieht o.k. aus wie du sagst und der Fehler entsteht beim absenden glaube du hast nur vergessen die Anrede auszuwählen vielleicht nicht ganz übersichtlich.
Mit jemand der Ahnung hat meinte ich jeden außer mir und obwohl mir emergnece ja schon einen Tipp gegeben hat kann ich Ihn doch nicht jedes mal belasten. Bei einem unverpfuschten Testmandantenhabe ich übrigens das gleiche problem.
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.form.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 20-08-2004
* Modified : 20-08-2004
************************************************/
class w3form {
var $email, $aufgedroeselt, $form, $formularFeld;
function w3form() {
}
// PRIVATE
function sendEmail() {
$this->aufdroeseln($this->suppress('sent'));
$this->generateEmailMessage();
mail($this->email['adresses'],$this->email['subject'],$this->email['message'],"From: {$this->email['from']['name']} <{$this->email['from']['email']}>\nReply-To: {$this->email['from']['email']}\nX-Mailer: PHP/" . phpversion());
}
// PRIVATE
function aufdroeseln($aufzudroeseln,$prefix = '') {
foreach ($aufzudroeseln as $key => $value) {
if (is_array($value)) {
$this->aufdroeseln($value,$key." ");
} else {
$this->aufgedroeselt["{$prefix}{$key}"] = $value;
}
}
}
// PRIVATE
function add2Message($key,$value) {
if (strlen($key) > 25 OR strlen($value) > 54) {
$this->email['message'] .= "$key\n$value\n";
} else {
$this->email['message'] .= $key;
$this->email['message'] .= str_repeat(' ',25-strlen($key));
$this->email['message'] .= "$value\n";
}
}
// PRIVATE
function generateEmailMessage() {
if ($this->aufgedroeselt) foreach ($this->aufgedroeselt as $key => $value) {
$this->add2Message($key,$value);
}
}
// PRIVATE
function suppress() {
$suppress = func_get_args();
foreach ($_POST as $key => $value) {
if (array_search($key,$suppress) === false) $fields[$key] = $value;
}
return $fields;
}
// PUBLIC
function addEmailAdress($email) {
if (empty($this->emailAdresses)) {
$this->email['adresses'] .= "$email";
} else {
$this->email['adresses'] .= ", $email";
}
}
// PUBLIC
function setEmailSubject($subject) {
$this->email['subject'] = $subject;
}
// PUBLIC
function setEmailFrom($email,$name) {
$this->email['from']['email'] = $email;
$this->email['from']['name'] = $name;
}
// PUBLIC
function setForm($form) {
$this->form['form'] = $form;
}
// PUBLIC
function setAnswer($answer) {
$this->form['answer'] = $answer;
}
// PUBLIC
function setBackgroundError($color) {
$this->form['colorError'] = $color;
}
// PRIVATE
function formularInterpretation(&$formular) {
$felder = split('###',$formular);
for ($i=1;$i<count($felder);$i=$i+2) {
$attributte = split(';',trim($felder[$i]));
foreach ($attributte as $attribut) {
$namewert = split(':',trim($attribut));
if ($namewert[0] != 'option' && $namewert[0] != 'optionvalue') {
$feld["{$felder[$i]}"]["{$namewert[0]}"] = $namewert[1];
} else {
$feld["{$felder[$i]}"]["{$namewert[0]}"][] = $namewert[1];
}
}
}
return $feld;
}
// PRIVATE
function formularAusgabe($sent = false) {
echo '<form action="" method="POST">';
echo '<input type="hidden" name="sent" value="true" />';
$formular = $this->form['form'];
$formulardaten = $this->formularInterpretation(&$formular);
$formular = split('###',$formular);
foreach ($formular as $formularteil) {
if (!empty($formulardaten["{$formularteil}"])) {
$this->formularFeld($formulardaten["{$formularteil}"],$sent);
} else {
echo $formularteil;
}
}
echo '</form>';
}
// PRIVATE
function formularFeld($attribute,$sent) {
$parameter = "name=\"{$attribute['name']}\"";
if ($sent && !$this->formularFeldKorrekt(&$attribute)) $style ="style=\"background-color:{$this->form['colorError']};\"";
switch ($attribute['type']) {
case 'select':
case 'password':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
break;
}
switch ($attribute['type']) {
case 'textarea':
case 'text':
if (!empty($attribute['size'])) $parameter .= " size=\"{$attribute['size']}\"";
if (!empty($attribute['value'])) $value = $attribute['value'];
if (!empty($_POST["{$attribute['name']}"])) $value = $_POST["{$attribute['name']}"];
break;
}
switch ($attribute['type']) {
case 'text':
echo "<input type=\"text\" $parameter value=\"$value\" $style />";
break;
case 'password':
echo "<input type=\"password\" $parameter value=\"$value\" $style />";
break;
case 'textarea':
echo "<textarea name=\"{$attribute['name']}\" cols=\"";
echo (empty($attribute['cols']))?('20'):($attribute['cols']);
echo "\" rows=\"";
echo (empty($attribute['rows']))?('2'):($attribute['rows']);
echo "\" wrap=\"virtual\" $style>$value</textarea>";
break;
case 'select':
echo "<select $parameter $style>";
for ($i=0;$i<count($attribute['option']);$i++) {
if (!empty($attribute['optionvalue'][$i])) {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['optionvalue'][$i]) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && !empty($attribute['optionvalue'][$i]) && $attribute['optionvalue'][$i] == $attribute['value']) {
echo "<option value=\"{$attribute['optionvalue'][$i]}\" selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option value=\"{$attribute['optionvalue'][$i]}\">{$attribute['option'][$i]}</option>\n";
}
}
} else {
if (!empty($_POST["{$attribute['name']}"]) && $_POST["{$attribute['name']}"] == $attribute['option'][$i]) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
if (empty($_POST["{$attribute['name']}"]) && $attribute['option'][$i] == $attribute['value']) {
echo "<option selected=\"selected\">{$attribute['option'][$i]}</option>\n";
} else {
echo "<option>{$attribute['option'][$i]}</option>\n";
}
}
}
}
echo "</select>";
break;
case 'checkbox':
$formularbezeichner = preg_split('[\[|\]]',$attribute['name']);
if ($sent) {
if ($_POST["{$formularbezeichner[0]}"]["{$formularbezeichner[1]}"] == $attribute['value']) {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"checkbox\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
case 'radio':
if (!empty($_POST["{$attribute['name']}"])) {
if ($_POST["{$attribute['name']}"] == $attribute['value']) {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" />";
}
} else {
if (!empty($attribute['selected']) && $attribute['selected'] == 'true') {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\" checked=\"checked\"/>";
} else {
echo "<input type=\"radio\" $parameter value=\"{$attribute['value']}\"/>";
}
}
break;
}
}
// PRIVATE
function formularVollstaendig() {
$formular = $this->form['form'];
$felder = $this->formularInterpretation(&$formular);
foreach ($felder as $feld) {
if (!$this->formularFeldKorrekt(&$feld)) return false;
}
return true;
}
// PRIVATE
function success() {
$this->sendEmail();
echo $this->form['answer'];
}
// PRIVATE
function formularFeldKorrekt(&$feld) {
// prüfung, ob pflichtfeld vorhanden
if (!empty($feld['mandatory']) && $feld['mandatory'] == 'true' && empty($_POST["{$feld['name']}"])) return false;
// wenn das formularfeld kein pflichtfeld und nicht vorhanden ist, true zurück geben
if (empty($_POST["{$feld['name']}"])) return true;
// 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'] == 'email' && !eregi("^[öäüéàèâêîç_a-z0-9-]+(\.[öäüéàèâêîç_a-z0-9-]+)*@[öäüéàèâêîça-z0-9-]+(\.[öäüéàèâêîça-z0-9-]+)*$",$_POST["{$feld['name']}"])) return false;
// grössenbereich bei integer und float prüfen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) return false;
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) return false;
// längenbereich bei allen typen prüfen
if (!empty($feld['minlength']) && strlen($_POST["{$feld['name']}"]) < $feld['minlength']) return false;
if (!empty($feld['maxlength']) && strlen($_POST["{$feld['name']}"]) > $feld['maxlength']) return false;
return true;
}
//PUBLIC
function process() {
if (!isset($_POST['sent'])) {
$this->formularAusgabe();
} elseif ($this->formularVollstaendig()) {
$this->success();
} else {
$this->formularAusgabe(true);
}
}
}
if ($edit) {
echo "<h1>Formularkonfiguration</h1>";
echo "<p>Hier ist das Formular sowie der Text einzugeben, der zusammen mit dem Formular ausgegeben werden soll:</p>";
echo "<TABLE class=text border=0>
<TBODY>
<TR>
<TD> </TD>
<TD><STRONG>Absender:</STRONG></TD>
<TD> </TD></TR>
<TR>
<TD> </TD>
<TD>
<P>Anrede:</P></TD>
<TD>
<P>###name:anrede; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Frau; optionvalue:1; option:Herr; optionvalue:2;option:Firma; optionvalue:3; value:0;minvalue:1###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Vorname:</TD>
<TD>
<P>###name:vorname; type:text; valid:simpletext; size:30; mandatory:true###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Nachname:</TD>
<TD>###name:nachname; type:text; valid:simpletext; size:30; mandatory:true###</TD></TR>
<TR>
<TD> </TD>
<TD>E-Mailadressse:</TD>
<TD>###name:e-mailadresse; type:text; valid:e-mail; size:30; mandatory:true### </TD></TR>
<TR>
<TD> </TD>
<TD>Land:</TD>
<TD>###name:land; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Deutschland; optionvalue:1; option:Oesterreich; optionvalue:2;option:Schweiz; optionvalue:3;option:andere; optionvalue:4; value:1;minvalue:1###</TD></TR>
<TR>
<TD> </TD>
<TD vAlign=top>Ansprechpartner:</TD>
<TD>
<P>###name:Ansprechpartner; type:select; valid:text; size:1; option:bitte auswaehlen; option:Sekretariat; option:online-support; option:Buchhaltung; value:Sekretariat###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Interessen:</TD>
<TD>
<P>###name:interesse[0]; type:checkbox; valid:text; value:Steuern; selected:true### Steuern<BR>###name:interesse[1]; type:checkbox; valid:text; value:Wirtschaft### Wirtschaft<BR>###name:interesse[2]; type:checkbox; valid:text; value:Treuhand### Treuhand<BR>###name:interesse[3]; type:checkbox; valid:text; value:Service; ### Service<BR>###name:interesse[4]; type:checkbox; valid:text; value:sonstiges### Sonstiges</P></TD></TR>
<TR>
<TD> </TD>
<TD>Ihre Nachricht:</TD>
<TD> ###name:bemerkungen; type:textarea;size:30; valid:text; rows:6; cols:30###</TD></TR>
<TR>
<TD colSpan=3>
<P align=center><INPUT type=submit value=senden></P></TD></TR></TBODY></TABLE>";
echo "<p>Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich prozessiert worden ist:</p>";
echo "<TABLE border=0>
<TBODY>
<TR>
<TD> </TD>
<TD>
<P class=text><STRONG>Empfangsbestätigung<BR></STRONG>---------------------------------------------------------------------------------------------------<BR>Sehr geehrter Besucher, </P>
<P class=text>wir haben Ihre Anfrage soeben erhalten und werden diese in Kürze bearbeiten.</P>
<P class=text>Mit freundlichen Grüßen aus Garmisch-Partenkirchen<BR>Ihr <STRONG>Fritz Scheck</STRONG> Steuerberater<BR>---------------------------------------------------------------------------------------------------<BR><STRONG>Fritz Scheck</STRONG> - Steuerberater<BR>Zugspitzstraße 33 - D-82467 Garmisch-Partenkirchen<BR>Telefon: +49 8821 9669-200 - Telefax +49 8821 9669-210<BR>E-mail: <IMG height=11 src=\"upload/bilder/mail_support.gif\" width=116 align=middle border=0> -Web: <A href=\"../../\">www.stb-scheck.de</A> </P></TD></TR>
<TR>
<TD> </TD>
<TD> </TD></TR></TBODY></TABLE>";
} else {
$formular = new w3form();
$formular->addEmailAdress("web@stb-scheck.de");
$formular->setEmailSubject("Nachricht aus dem Web");
$formular->setEmailFrom("","Steuerkanzlei Scheck");
$formular->setBackgroundError("red");
$formular->setForm("<TABLE class=text border=0>
<TBODY>
<TR>
<TD> </TD>
<TD><STRONG>Absender:</STRONG></TD>
<TD> </TD></TR>
<TR>
<TD> </TD>
<TD>
<P>Anrede:</P></TD>
<TD>
<P>###name:anrede; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Frau; optionvalue:1; option:Herr; optionvalue:2;option:Firma; optionvalue:3; value:0;minvalue:1###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Vorname:</TD>
<TD>
<P>###name:vorname; type:text; valid:simpletext; size:30; mandatory:true###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Nachname:</TD>
<TD>###name:nachname; type:text; valid:simpletext; size:30; mandatory:true###</TD></TR>
<TR>
<TD> </TD>
<TD>E-Mailadressse:</TD>
<TD>###name:e-mailadresse; type:text; valid:e-mail; size:30; mandatory:true### </TD></TR>
<TR>
<TD> </TD>
<TD>Land:</TD>
<TD>###name:land; type:select; valid:integer; size:1; option:bitte auswaehlen; optionvalue:0; option:Deutschland; optionvalue:1; option:Oesterreich; optionvalue:2;option:Schweiz; optionvalue:3;option:andere; optionvalue:4; value:1;minvalue:1###</TD></TR>
<TR>
<TD> </TD>
<TD vAlign=top>Ansprechpartner:</TD>
<TD>
<P>###name:Ansprechpartner; type:select; valid:text; size:1; option:bitte auswaehlen; option:Sekretariat; option:online-support; option:Buchhaltung; value:Sekretariat###</P></TD></TR>
<TR>
<TD> </TD>
<TD>Interessen:</TD>
<TD>
<P>###name:interesse[0]; type:checkbox; valid:text; value:Steuern; selected:true### Steuern<BR>###name:interesse[1]; type:checkbox; valid:text; value:Wirtschaft### Wirtschaft<BR>###name:interesse[2]; type:checkbox; valid:text; value:Treuhand### Treuhand<BR>###name:interesse[3]; type:checkbox; valid:text; value:Service; ### Service<BR>###name:interesse[4]; type:checkbox; valid:text; value:sonstiges### Sonstiges</P></TD></TR>
<TR>
<TD> </TD>
<TD>Ihre Nachricht:</TD>
<TD> ###name:bemerkungen; type:textarea;size:30; valid:text; rows:6; cols:30###</TD></TR>
<TR>
<TD colSpan=3>
<P align=center><INPUT type=submit value=senden></P></TD></TR></TBODY></TABLE>");
$formular->setAnswer("<TABLE border=0>
<TBODY>
<TR>
<TD> </TD>
<TD>
<P class=text><STRONG>Empfangsbestätigung<BR></STRONG>---------------------------------------------------------------------------------------------------<BR>Sehr geehrter Besucher, </P>
<P class=text>wir haben Ihre Anfrage soeben erhalten und werden diese in Kürze bearbeiten.</P>
<P class=text>Mit freundlichen Grüßen aus Garmisch-Partenkirchen<BR>Ihr <STRONG>Fritz Scheck</STRONG> Steuerberater<BR>---------------------------------------------------------------------------------------------------<BR><STRONG>Fritz Scheck</STRONG> - Steuerberater<BR>Zugspitzstraße 33 - D-82467 Garmisch-Partenkirchen<BR>Telefon: +49 8821 9669-200 - Telefax +49 8821 9669-210<BR>E-mail: <IMG height=11 src=\"upload/bilder/mail_support.gif\" width=116 align=middle border=0> -Web: <A href=\"../../\">www.stb-scheck.de</A> </P></TD></TR>
<TR>
<TD> </TD>
<TD> </TD></TR></TBODY></TABLE>");
$formular->process();
}
?>
<?php $C22CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 22; ?>
<?php $C24CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 24; ?>
<?php $C26CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 26; ?>
<?php $C28CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 28; ?>
<br/><br/>
<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td style="background-color:rgb(149,148,147);"><img src="../images/grey.gif" width="1" height="1" border="0" alt="" title=""/></td></tr></table>
<div id="bottomnavi">
<?php $C30CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 99; ?><?php $cCurrentContainer = 30; ?><table width="400" class=fusszeile cellspa0cing="0" cellpadding="0">
<tr >
<td width="75" class="text"><a href="http://www.stb-scheck.de" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/home.gif" border="0" alt="Home"></a>Home</td>
<td width="75" class="text"><a href="javascript:self.print()"><img align="left" height="16" width="16" src="upload/bilder_icons/drucker.gif" border="0" alt="drucken"></a>drucken</td>
<td width="75" class="text"><a href="http://www.stb-scheck.de/front_content. ... =80&lang=1" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/kommentar_01.gif" border="0" alt="Kontakt"></a>Kontakt</td>
<td width="75" class="text"><a href="http://www.stb-scheck.de" target="_self"><img align="left" height="16" width="16" src="upload/bilder_icons/kommentar_01.gif" border="0" alt="senden"></a>senden</td>
<td width="75" class="text"><a href="javascript:history.back()"><img align="left" height="16" width="16" src="upload/bilder_icons/pfeil_left_grau.gif" border="0" alt="zurück"> </a>zurück</td>
</tr>
</table>
</div>
</div>
<div id="left">
<?php $C44CMS_VALUE[]=""; ?>
<?php $cCurrentModule = 0; ?><?php $cCurrentContainer = 44; ?>
<?php $C40CMS_VALUE[0]="1"; ?>
<?php $cCurrentModule = 9; ?><?php $cCurrentContainer = 40; ?><?php
-
- Beiträge: 1758
- Registriert: Mo 1. Aug 2005, 00:35
- Wohnort: in der schönen Hallertau, mitten im Hopfen
- Kontaktdaten:
Re: das ist mir ja suuuper peinlich
w3concepts.form.v1
da gibts hier im board schon neuere versionen, glaube ich
check mal den thread, ich weiss der ist lang, aber ...
da gibts hier im board schon neuere versionen, glaube ich
check mal den thread, ich weiss der ist lang, aber ...

Grüsse, Guido
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
Komme leider nicht weiter...
Hi Ihr,
ich habe mich wirklich intensiv mit meinem Problem beschäftigt finde aber keinen Rat... wer ist so freundlich und kann mir helfen ?
ich habe mich wirklich intensiv mit meinem Problem beschäftigt finde aber keinen Rat... wer ist so freundlich und kann mir helfen ?