neues formularmodul :: w3concepts.form.v1
-
- Beiträge: 4300
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: neues formularmodul :: w3concepts.form.v1
Hallo Prime,
zuerst einmal willkommen im Contenido Forum.
zur Lösung deines Problems erst mal hier Lesen http://www.php.net/manual/de/language.r ... s.pass.php
und dann im Modulcode alle Referenzierungen entfernen.
Fertig!
Gruß aus Franken
Ortwin
zuerst einmal willkommen im Contenido Forum.
zur Lösung deines Problems erst mal hier Lesen http://www.php.net/manual/de/language.r ... s.pass.php
und dann im Modulcode alle Referenzierungen entfernen.
Fertig!
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: neues formularmodul :: w3concepts.form.v1
Hallo Ortwin,
herzlichen Dank für deine schnelle Antwort! Ich werde das mal versuchen. Gibt es für zukünftige Installationen vielleicht eine Version des w3concepts.form Moduls, in dem die arguments "richtig" übertragen werden? Darüber würde die Contenido Community sich sicherlich freuen! Ich benutze übrigens momentan die Version von falk07 - http://forum.contenido.org/viewtopic.ph ... 82#p116982
Grüße aus Utrecht, NL
herzlichen Dank für deine schnelle Antwort! Ich werde das mal versuchen. Gibt es für zukünftige Installationen vielleicht eine Version des w3concepts.form Moduls, in dem die arguments "richtig" übertragen werden? Darüber würde die Contenido Community sich sicherlich freuen! Ich benutze übrigens momentan die Version von falk07 - http://forum.contenido.org/viewtopic.ph ... 82#p116982
Grüße aus Utrecht, NL
-
- Beiträge: 4300
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: neues formularmodul :: w3concepts.form.v1
Hallo Prime,
Achja, ich hab auch mal einen FAQ-Eintrag zum Thema gemacht
http://faq.contenido.org/content/16/265 ... cated.html
Gruß aus Franken
Ortwin
Das kann ich dir nicht sagen, bei solche Fragen wendet man sich am Besten direkt an den Author. Alternativ kannst du aber auch gerne eine überarbeitete Version hier im Forum posten, da, soweit mir bekannt ist, alle hier zu findenden Module unter GPL stehen.Prime hat geschrieben:Gibt es für zukünftige Installationen vielleicht eine Version des w3concepts.form Moduls, in dem die arguments "richtig" übertragen werden?
Achja, ich hab auch mal einen FAQ-Eintrag zum Thema gemacht
http://faq.contenido.org/content/16/265 ... cated.html
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Fehlermeldung beim Versenden
Hallo zusammen,
ich habe ein Problem beim versenden der Formulardaten und bin ratlos. Jedesmal erscheint folgende Fehlermeldung:
"Catchable fatal error: Object of class PHPMailer could not be converted to string in /is/htdocs/wp..._.../www/cms/front_content.php(926) : eval()'d code on line 189"
Dies ist erst mein zweites Projekt mit Contenido - also viel Erfahrung und php-Kenntnisse habe ich nicht. Beim ersten Projekt habe ich dieses Modul auch verwendet und da lief es problemlos. Beim "googlen" habe ich nichts brauchbares zu der Fehlermeldung gefunden. Zum Testen habe ich das Standardformular installiert. Hier erscheint zwar keine Fehlermeldung, aber E-Mails kommen auch nicht an. Die Seite liegt bei Hosteurope. Vielleicht gibt es da Probleme? Hat jemand eine Idee?
Wäre dankbar für eure Hilfe !!!
Hilke
ich habe ein Problem beim versenden der Formulardaten und bin ratlos. Jedesmal erscheint folgende Fehlermeldung:
"Catchable fatal error: Object of class PHPMailer could not be converted to string in /is/htdocs/wp..._.../www/cms/front_content.php(926) : eval()'d code on line 189"
Dies ist erst mein zweites Projekt mit Contenido - also viel Erfahrung und php-Kenntnisse habe ich nicht. Beim ersten Projekt habe ich dieses Modul auch verwendet und da lief es problemlos. Beim "googlen" habe ich nichts brauchbares zu der Fehlermeldung gefunden. Zum Testen habe ich das Standardformular installiert. Hier erscheint zwar keine Fehlermeldung, aber E-Mails kommen auch nicht an. Die Seite liegt bei Hosteurope. Vielleicht gibt es da Probleme? Hat jemand eine Idee?
Wäre dankbar für eure Hilfe !!!
Hilke
Re: neues formularmodul :: w3concepts.form.v1
Hallo zusammen
ich weiss, das dieses Thema schon seit einer sehr langen Zeit bearbeitet wird, nach einer längeren «Web-Pause» wäre das aber genau was ich suche...
Nun konnte ich alles wunderbar anpassen aber ich bekomme einfach keine Nachrichten... ich muss sagen, dass ich bei PHP nicht wirklich durchblicke aber ich habe den Code mehr oder weniger übernommen und eingesetzt und dann das im Editor noch angepasst, meine Mail-Adresse im Backend reingeschrieben und fertig. Es geht einfach nicht
Bevor jetzt aber mein Macbook zum Fenster raus fliegt, dachte ich frag hier doch mal noch nach...
Jetzt schon 1000 Dank für eure hilfe!
ich weiss, das dieses Thema schon seit einer sehr langen Zeit bearbeitet wird, nach einer längeren «Web-Pause» wäre das aber genau was ich suche...
Nun konnte ich alles wunderbar anpassen aber ich bekomme einfach keine Nachrichten... ich muss sagen, dass ich bei PHP nicht wirklich durchblicke aber ich habe den Code mehr oder weniger übernommen und eingesetzt und dann das im Editor noch angepasst, meine Mail-Adresse im Backend reingeschrieben und fertig. Es geht einfach nicht
Bevor jetzt aber mein Macbook zum Fenster raus fliegt, dachte ich frag hier doch mal noch nach...
Jetzt schon 1000 Dank für eure hilfe!
Re: neues formularmodul :: w3concepts.form.v1
Hallo,
die E-Mail mit den Formulardaten hat immer eine unnötige Leerzeile zwischen den Reihen. Ich finde im Output-Code nicht die Stelle wo dieser Return generiert wird.
Kann mir jemand helfen.
Das sieht dann so zB aus:
Name: Max
Nachname: Musternam
Straße: Musterstraße
...usw
so sollte es aber aussehen:
Name: Max
Nachname: Musternam
Straße: Musterstraße
...usw
Hier der Output nochmal
die E-Mail mit den Formulardaten hat immer eine unnötige Leerzeile zwischen den Reihen. Ich finde im Output-Code nicht die Stelle wo dieser Return generiert wird.
Kann mir jemand helfen.
Das sieht dann so zB aus:
Name: Max
Nachname: Musternam
Straße: Musterstraße
...usw
so sollte es aber aussehen:
Name: Max
Nachname: Musternam
Straße: Musterstraße
...usw
Hier der Output nochmal
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : w3concepts.form.mod2.v1
* Author : Andreas Kummer
* Copyright : mumprecht & kummer w3concepts
* Created : 15-10-2004
* Modified : 15-10-2004
************************************************
* Modified by Jan-Christoph Ihrens 2005-06-27
* See http://www.contenido.org/forum/viewtopic.php?t=5066&postdays=0&postorder=asc&start=165
* (Nickname: Enigma)
************************************************/
class w3form {
var $email, $aufgedroeselt, $form, $formularFeld;
function w3form() {
}
// PRIVATE
function sendEmail() {
// hier die Namen der Formularfelder eintragen, die nicht mit in die eMail
// aufgenommen werden sollen (z. B. Submit-Button, versteckte Formularfelder, die
// nur internen Zwecken dienen etc.)
$this->aufdroeseln($this->suppress('sent', 'submit', 'submit_form', 'form_submit', 'submit_button', 'button_submit'));
$this->generateEmailMessage();
mail($this->email['adresses'], $this->email['subject'], $this->form['mailText1'].$this->email['message'].$this->form['mailText2'], "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";
}
*/
$max_line_length = 75;
$indentation = 0;
if ('date_time' == $key) {
$value = date('d.m.Y, H:i');
}
$this->email['message'] .= $key.': ';
if ((strlen($value) <= $max_line_length - $indentation) and (strpos($value, CCS_LF) === false)) {
$this->email['message'] .= str_repeat(' ', $indentation);
}
$this->email['message'] .= $value.CCS_LF.CCS_LF;
}
// 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['colorBackgroundError'] = $color;
}
// PUBLIC
function setBorderError($color) {
$this->form['colorBorderError'] = $color;
}
// PUBLIC
function setFontError($color) {
$this->form['colorFontError'] = $color;
}
// PUBLIC
function setMessageError($activate) {
$this->form['showErrorMessage'] = (trim($activate) == 'yes');
}
// PUBLIC
function setMessageCssClassError($cssClass) {
$this->form['errorMessageCssClass'] = trim($cssClass);
}
// PUBLIC
function setMessageCssStyleError($cssStyle) {
$this->form['errorMessageCssStyle'] = trim($cssStyle);
}
// PUBLIC
function setShowDataStatus($status) {
$this->form['showData'] = (trim($status) == 'yes');
}
// PUBLIC
function setConfirmationDataTableCssClass($cssClass) {
$this->form['ConfirmationDataTableCssClass'] = trim($cssClass);
}
// PUBLIC
function setConfirmationDataTableCssStyle($cssStyle) {
$this->form['ConfirmationDataTableCssStyle'] = trim($cssStyle);
}
// PUBLIC
function setConfirmationDataTrCssClass($cssClass) {
$this->form['ConfirmationDataTrCssClass'] = trim($cssClass);
}
// PUBLIC
function setConfirmationDataTrCssStyle($cssStyle) {
$this->form['ConfirmationDataTrCssStyle'] = trim($cssStyle);
}
// PUBLIC
function setConfirmationDataThCssClass($cssClass) {
$this->form['ConfirmationDataThCssClass'] = trim($cssClass);
}
// PUBLIC
function setConfirmationDataThCssStyle($cssStyle) {
$this->form['ConfirmationDataThCssStyle'] = trim($cssStyle);
}
// PUBLIC
function setConfirmationDataTdCssClass($cssClass) {
$this->form['ConfirmationDataTdCssClass'] = trim($cssClass);
}
// PUBLIC
function setConfirmationDataTdCssStyle($cssStyle) {
$this->form['ConfirmationDataTdCssStyle'] = trim($cssStyle);
}
// PUBLIC
function setMailText1($text) {
$text = trim($text);
if ('' != $text) {
$text .= CCS_LF.CCS_LF.CCS_LF.CCS_LF;
}
$this->form['mailText1'] = $text;
}
// PUBLIC
function setMailText2($text) {
$text = trim($text);
if ('' != $text) {
$text = CCS_LF.CCS_LF.$text;
}
$this->form['mailText2'] = $text;
}
/*
// PRIVATE
function getActualErrorMessage() {
return $this->form['actualErrorMessage'];
}
*/
/* CCS begin */
// Funktion ersetzt gemäß http://www.contenido.org/forum/viewtopic.php?p=46196#46196
/*
// PRIVATE
function formularInterpretation($formular) {
$felder = split('###', $formular);
for ($i = 1; $i < count($felder); $i = $i + 2) {
$attributes = split(';', trim($felder[$i]));
foreach ($attributes 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 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;
}
/* CCS end */
// PRIVATE
function formularAusgabe($sent = false) {
// Ausgabe-Pufferung einschalten
ob_start();
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>';
// Ausgabepuffer in Variable einlesen
$ccs_form_data = ob_get_contents();
// Pufferung beenden und Puffer löschen
ob_end_clean();
// wenn ein Fehler im Formular aufgetreten ist,
// Fehlermeldung über dem Formular ausgeben
if ($sent and !$this->formularVollstaendig()) {
echo '<p style="color: #FF0000">Ihre Eingaben sind unvollständig oder fehlerhaft. Bitte überprüfen Sie Ihre Eingaben!</p>'.CCS_LF;
}
// Formular ausgeben
echo $ccs_form_data;
}
// PRIVATE
function formularFeld($attribute, $sent) {
$parameter = 'name="'.$attribute['name'].'"';
if (!empty($attribute['id'])) {
$parameter .= ' id="'.$attribute['id'].'"';
$ccs_id_param = 'id="'.$attribute['id'].'"';
}
/* CCS begin */
// geändert gemäß http://www.contenido.org/forum/viewtopic.php?p=46196#46196
/*
if ($sent && !$this->formularFeldKorrekt($attribute))
$style = "style=\"background-color:{$this->form['colorError']};\"";
*/
$style = $attribute['style'];
if ($sent && !$this->formularFeldKorrekt($attribute)) {
if (!empty($this->form['colorBackgroundError'])) {
if ('' != $style) {
$style .= ' ';
}
$style .= 'background-color: '.$this->form['colorBackgroundError'].';';
}
if (!empty($this->form['colorBorderError'])) {
if ('' != $style) {
$style .= ' ';
}
$style .= 'border: 3px solid '.$this->form['colorBorderError'].';';
}
if (!empty($this->form['colorFontError'])) {
if ('' != $style) {
$style .= ' ';
}
$style .= 'color: '.$this->form['colorFontError'].';';
}
}
if ('' != $style) {
$style = 'style="'.$style.'"';
}
if (!empty($attribute['class'])) {
$style = 'class="'.$attribute['class'].'" '.$style;
}
/* CCS end */
switch ($attribute['type']) {
case 'select':
case 'password':
/* CCS begin */
// bereits unten enthalten (würde sonst doppelt erzeugt):
// case 'text':
/* CCS end */
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($_REQUEST["{$attribute['name']}"]))
$value = $_REQUEST["{$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'].'" '.$ccs_id_param.' cols="'; // $parameter?
echo (empty($attribute['cols'])) ? ('20') : ($attribute['cols']);
echo '" rows="';
echo (empty($attribute['rows'])) ? ('2') : ($attribute['rows']);
echo '" '.$style.'>'.$value.'</textarea>';
// wrap="virtual" nicht valide!
break;
case 'select':
echo CCS_LF.'<select '.$parameter.' '.$style.'>'.CCS_LF;
for ($i = 0; $i < count($attribute['option']); $i++) {
if (!empty($attribute['optionvalue'][$i])) {
if (!empty($_REQUEST["{$attribute['name']}"]) && $_REQUEST["{$attribute['name']}"] == $attribute['optionvalue'][$i]) {
echo '<option value="'.$attribute['optionvalue'][$i].'" selected="selected">'.$attribute['option'][$i].'</option>'.CCS_LF;
} else {
if (empty($_REQUEST["{$attribute['name']}"]) && !empty($attribute['optionvalue'][$i]) && $attribute['optionvalue'][$i] == $attribute['value']) {
echo '<option value="'.$attribute['optionvalue'][$i].'" selected="selected">'.$attribute['option'][$i].'</option>'.CCS_LF;
} else {
echo '<option value="'.$attribute['optionvalue'][$i].'">'.$attribute['option'][$i].'</option>'.CCS_LF;
}
}
} else {
if (!empty($_REQUEST["{$attribute['name']}"]) && $_REQUEST["{$attribute['name']}"] == $attribute['option'][$i]) {
echo '<option selected="selected">'.$attribute['option'][$i].'</option>'.CCS_LF;
} else {
if (empty($_REQUEST["{$attribute['name']}"]) && $attribute['option'][$i] == $attribute['value']) {
echo '<option selected="selected">'.$attribute['option'][$i].'</option>'.CCS_LF;
} else {
echo '<option>'.$attribute['option'][$i].'</option>'.CCS_LF;
}
}
}
}
echo '</select>'.CCS_LF;
break;
case 'checkbox':
$formularbezeichner = preg_split('[\[|\]]', $attribute['name']);
if ($sent) {
if ($_REQUEST["{$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($_REQUEST["{$attribute['name']}"])) {
if ($_REQUEST["{$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;
case 'datetime':
echo '<input type="hidden" name="date_time" id="date_time" value="gesendet am '.date('d.m.Y, H:i').' Uhr" />';
break;
}
if ($this->form['showErrorMessage'] and ('' != $this->form['actualErrorMessage'])) {
echo '<br />'.CCS_LF;
$cssAttributes = '';
if ('' != $this->form['errorMessageCssClass']) {
$cssAttributes .= ' class="'.$this->form['errorMessageCssClass'].'"';
}
if ('' != $this->form['errorMessageCssStyle']) {
$cssAttributes .= ' style="'.$this->form['errorMessageCssStyle'].'"';
}
echo '<span'.$cssAttributes.'">'.$this->form['actualErrorMessage'].'</span>';
}
}
// 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 add2ConfirmationPage($key, $value) {
$tr_style = '';
if ('' != $this->form['ConfirmationDataTrCssClass']) {
$tr_style .= ' class="'.$this->form['ConfirmationDataTrCssClass'].'"';
}
if ('' != $this->form['ConfirmationDataTrCssStyle']) {
$tr_style .= ' style="'.$this->form['ConfirmationDataTrCssStyle'].'"';
}
$th_style = '';
if ('' != $this->form['ConfirmationDataThCssClass']) {
$th_style .= ' class="'.$this->form['ConfirmationDataThCssClass'].'"';
}
if ('' != $this->form['ConfirmationDataThCssStyle']) {
$th_style .= ' style="'.$this->form['ConfirmationDataThCssStyle'].'"';
}
$td_style = '';
if ('' != $this->form['ConfirmationDataTdCssClass']) {
$td_style .= ' class="'.$this->form['ConfirmationDataTdCssClass'].'"';
}
if ('' != $this->form['ConfirmationDataTdCssStyle']) {
$td_style .= ' style="'.$this->form['ConfirmationDataTdCssStyle'].'"';
}
$this->confirmationDataTable .= ' <tr'.$tr_style.'>'.CCS_LF;
$this->confirmationDataTable .= ' <th'.$th_style.'>'.$key.':</th>'.CCS_LF;
$this->confirmationDataTable .= ' <td'.$td_style.'>'.$value.'</td>'.CCS_LF;
$this->confirmationDataTable .= ' </tr>'.CCS_LF;
}
// PRIVATE
function prepareConfirmationDataTable() {
$this->confirmationDataTable = '';
if ($this->aufgedroeselt) {
$table_style = '';
if ('' != $this->form['ConfirmationDataTableCssClass']) {
$table_style .= ' class="'.$this->form['ConfirmationDataTableCssClass'].'"';
}
if ('' != $this->form['ConfirmationDataTableCssStyle']) {
$table_style .= ' style="'.$this->form['ConfirmationDataTableCssStyle'].'"';
}
$this->confirmationDataTable .= '<table'.$table_style.'>'.CCS_LF;
foreach ($this->aufgedroeselt as $key => $value) {
if ('date_time' != $key) {
$this->add2ConfirmationPage($key, $value);
}
}
$this->confirmationDataTable .= '</table>'.CCS_LF;
}
}
// PRIVATE
function success() {
$this->sendEmail();
if (false !== strpos($this->form['answer'], '###sent_data###')) {
if ($this->form['showData']) {
$this->prepareConfirmationDataTable();
$this->form['answer'] = str_replace('###sent_data###', $this->confirmationDataTable, $this->form['answer']);
} else {
$this->form['answer'] = str_replace('###sent_data###', '', $this->form['answer']);
}
}
echo $this->form['answer'];
}
// PRIVATE
function formularFeldKorrekt($feld) {
$this->form['actualErrorMessage'] = '';
// prüfung, ob pflichtfeld vorhanden
if (!empty($feld['mandatory']) && $feld['mandatory'] == 'true' && empty($_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte füllen Sie dieses Feld aus!';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'given_options' && !empty($feld['possible_values'])) {
$possibleValues = explode('|', $feld['possible_values']);
foreach ($possibleValues as $key => $val) {
$possibleValues[$key] = trim($val);
}
if (!in_array($_POST["{$feld['name']}"], $possibleValues)) {
$this->form['actualErrorMessage'] = 'Es sind ausschließlich folgende Werte erlaubt (ohne die Anführungszeichen): ';
$i = 0;
foreach ($possibleValues as $val) {
$i++;
if (1 != $i) {
$this->form['actualErrorMessage'] .= ', ';
}
$this->form['actualErrorMessage'] .= '"'.$val.'"';
}
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-z0-9ÄÖÜ-]*$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte verwenden Sie ausschließlich Buchstaben, Ziffern, Bindestrich und den Punkt!';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'text' && !eregi("^[ .,;!?()öäüßé??????a-z0-9ÄÖÜ-]*$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte verwenden Sie ausschließlich Buchstaben, Ziffern sowie die Zeichen -.,;!?()';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'textwithlinefeed' && !eregi("^[ \r\n.,:;!?/()@öäüßé??????a-z0-9ÄÖÜ-]*$",$_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte verwenden Sie ausschließlich Buchstaben, Ziffern, das Leerzeichen sowie die Zeichen -.,:;!?/()@';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'integer' && !eregi("^[0-9]*$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie ausschließlich Ziffern ein!';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'float' && !eregi("^[0-9]*[.]{0,1}[0-9]*$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie ausschließlich Ziffern und ggf. einen Dezimalpunkt (kein Komma!) ein!';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'date' && !eregi("^[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie ein Datum in der Form TT.MM.YYYY ein!';
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']}"])) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie eine gültige eMail-Adresse ein!';
return false;
}
if (!empty($feld['valid']) && $feld['valid'] == 'phone' && !eregi("^([+][ ]?[1-9][0-9][ ]?[-]?[ ]?|[(]?[0][ ]?)[0-9]{2,4}[-)/ ]?[ ]?[1-9][-0-9 ]{3,16}$", $_POST["{$feld['name']}"])) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie eine gültige Telefonnummer ein!';
return false;
}
// grössenbereich bei integer und float prüfen
if (!empty($feld['minvalue']) && $_POST["{$feld['name']}"] < $feld['minvalue']) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie eine Zahl ein, die größer oder gleich '.$feld['minvalue'].' ist!';
return false;
}
if (!empty($feld['maxvalue']) && $_POST["{$feld['name']}"] > $feld['maxvalue']) {
$this->form['actualErrorMessage'] = 'Bitte geben Sie eine Zahl ein, die kleiner oder gleich '.$feld['maxvalue'].' ist!';
return false;
}
// längenbereich bei allen typen prüfen
if (!empty($feld['minlength']) && strlen($_POST["{$feld['name']}"]) < $feld['minlength']) {
$this->form['actualErrorMessage'] = 'Die Eingabe muss mindestens '.$feld['minlength'].' Zeichen lang sein!';
return false;
}
if (!empty($feld['maxlength']) && strlen($_POST["{$feld['name']}"]) > $feld['maxlength']) {
$this->form['actualErrorMessage'] = 'Die Eingabe darf höchstens '.$feld['maxlength'].' Zeichen lang sein!';
return false;
}
return true;
}
//PUBLIC
function process() {
if (!isset($_POST['sent'])) {
$this->formularAusgabe();
} elseif ($this->formularVollstaendig()) {
$this->success();
} else {
$this->formularAusgabe(true);
}
}
}
define('CCS_LF', "\n");
if ($edit) {
echo "<h1>Formularkonfiguration</h1>";
echo "<p>Hier ist das Formular einzugeben sowie der Text, der zusammen mit dem Formular ausgegeben werden soll:</p>";
echo "CMS_HTML[0]";
echo "<p>Hier ist die Ausgabe einzugeben, die erscheint, wenn das Formular erfolgreich verarbeitet wurde:</p>";
echo "CMS_HTML[1]";
} else {
$formular = new w3form();
$formular->addEmailAdress("CMS_VALUE[0]");
$formular->setEmailSubject("CMS_VALUE[1]");
if ('' == trim("CMS_VALUE[2]")) {
$ccs_sender_email = $_POST['E-Mail-Adresse'];
} else {
$ccs_sender_email = trim("CMS_VALUE[2]");
}
if ('' == trim("CMS_VALUE[3]")) {
/* $ccs_sender_name = $_POST['Vorname'].' '.$_POST['Nachname']; SJ: Name und Vorname getrennt */
$ccs_sender_name = $_POST['Name'];
} else {
$ccs_sender_name = trim("CMS_VALUE[3]");
}
$formular->setEmailFrom($ccs_sender_email, $ccs_sender_name);
$formular->setBackgroundError("CMS_VALUE[4]");
$formular->setBorderError("CMS_VALUE[5]");
$formular->setFontError("CMS_VALUE[6]");
$formular->setMessageError("CMS_VALUE[7]");
$formular->setMessageCssClassError("CMS_VALUE[8]");
$formular->setMessageCssStyleError("CMS_VALUE[9]");
$formular->setShowDataStatus("CMS_VALUE[10]");
$formular->setConfirmationDataTableCssClass("CMS_VALUE[11]");
$formular->setConfirmationDataTableCssStyle("CMS_VALUE[12]");
$formular->setConfirmationDataTrCssClass("CMS_VALUE[13]");
$formular->setConfirmationDataTrCssStyle("CMS_VALUE[14]");
$formular->setConfirmationDataThCssClass("CMS_VALUE[15]");
$formular->setConfirmationDataThCssStyle("CMS_VALUE[16]");
$formular->setConfirmationDataTdCssClass("CMS_VALUE[17]");
$formular->setConfirmationDataTdCssStyle("CMS_VALUE[18]");
$formular->setMailText1("CMS_VALUE[19]");
$formular->setMailText2("CMS_VALUE[20]");
$formular->setForm("CMS_HTML[0]");
$formular->setAnswer("CMS_HTML[1]");
$formular->process();
}
?>
Re: neues formularmodul :: w3concepts.form.v1
Hallo zusammen,
ich habe ein Problem mit dem Erstellen eines Select-Feldes mit mehreren Angaben. Leider werden im Frontend nur ein Teil der Optiponen ausgegeben.
Die Ausgabe im Frotend ist foldendermaßen:
Die Option "65 und mehr" fehlt schlichtweg...
Weiß jemand, wie das korrigiert werden kann?
Formular funktioniert ansonsten einwandfrei
Gruß, Torsten
ich habe ein Problem mit dem Erstellen eines Select-Feldes mit mehreren Angaben. Leider werden im Frontend nur ein Teil der Optiponen ausgegeben.
Code: Alles auswählen
###name:alter; type:select; valid:text; size:1;
option:bitte auswählen;
optionvalue:0; option:bitte auswaehlen;
optionvalue:1; option:bis 13;
optionvalue:2; option:14 - 18;
optionvalue:3; option:19 - 29;
optionvalue:4; option:30 - 65;
optionvalue:5; option:65 und mehr;
optionvalue:6; value:1; minvalue:1; maxvalue:6; minlength:6; maxlength:11###
Code: Alles auswählen
<p>
<code>
<select size="1" name="alter">
<option>bitte auswaehlen</option>
<option>bis 13</option>
<option>14 - 18</option>
<option>19 - 29</option>
<option>30 - 65</option>
</select>
</code>
</p>
Weiß jemand, wie das korrigiert werden kann?
Formular funktioniert ansonsten einwandfrei
Gruß, Torsten
Hebt man den Blick,
so sieht man keine Grenzen.
(Aus Japan)
torsten w. licker
caps-log.de/sign
so sieht man keine Grenzen.
(Aus Japan)
torsten w. licker
caps-log.de/sign
Re: neues formularmodul :: w3concepts.form.v1
Prüft das Programm vielleicht, wie viele Optionen vorhanden sind und mehr als 65 sind vielleicht gar nicht da und wird deshalb nicht angezeigt?
Das würde ich diesem Entwickler zutrauen, dass er es so programmiert hat, dass es nur anzeigt was da ist.
Das würde ich diesem Entwickler zutrauen, dass er es so programmiert hat, dass es nur anzeigt was da ist.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.