[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
do form! - Seite 3 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
gemüsebrühe
Beiträge: 176
Registriert: 14. Feb 2007, 21:31

24. Okt 2009, 02:21

Apropos neue Dinge:

Aufgrund von:

Code: Alles auswählen

// ### Validierung
            // falls Pflichtelement und Inhalt da und Formular abgeschickt
            if ( ($element[2] == 1) && (trim($FORM[$formname]["el_".$i]) != "") && ($FORM[$formname][$formname."send"] == 1) ) {
            // checken, ob und welches Validierungsmodell gewaehlt
in der Modulausgabe werden nur Felder validiert, die Pflichtfelder sind. Leider erhält $absendermail erst innerhalb dieser Fallunterscheidung seinen Inhalt:

Code: Alles auswählen

if (trim($element[5]) != '') {
                // falls Validierung gefordert
                $valid_ok = TRUE;
                $inhalt = trim($FORM[$formname]["el_".$i]);

                switch (trim($element[5])) {
                  case "mail":
                        if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
                        break;
                  case "absendermail":
                        $absendermail=$inhalt;
                        if (!ereg("^.+@(.+\.)+([a-zA-Z]{2,6})$",$inhalt)) $valid_ok = FALSE;
                        break;
Ich stelle in Frage: Sollte man nicht auch Nicht-Pflichtfelder validieren können?

Das Vorhaben, eine optionale Absendermail zu validieren, scheitert hier natürlich und somit wird auch keine Auto-Antwort an eine optionalen Absendermail versendet :!: (habe ich auch hier gepostet)
So clickable, design is lickable.
Code is poetry.

bastians
Beiträge: 104
Registriert: 9. Mai 2008, 17:45
Wohnort: Stuttgart
Kontaktdaten: Website

16. Nov 2009, 19:09

Hallo,

kann es sein, dass das Modul das Postleitzahlen-Feld überprüft, ob 5 Ziffern eingegeben werden? In der Schweiz sind die PLZ 4-stellig :-)
Grüße, Bastian

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

17. Nov 2009, 13:08

In der Schweiz sind die PLZ 4-stellig

Code: Alles auswählen

case "plz":
if (preg_match ("/^[0-9]{5}$/",$inhalt))  {break;} else {$valid_ok = FALSE; }break;
Einfach die 5 durch eine 4 ersetzen

Code: Alles auswählen

case "plz":
if (preg_match ("/^[0-9]{4}$/",$inhalt))  {break;} else {$valid_ok = FALSE; }  break;

Oder du erstellst eine neue Validierung:

Code: Alles auswählen

case "plzch":
if (preg_match ("/^[0-9]{4}$/",$inhalt))  {break;} else {$valid_ok = FALSE; }  break;

bastians
Beiträge: 104
Registriert: 9. Mai 2008, 17:45
Wohnort: Stuttgart
Kontaktdaten: Website

17. Nov 2009, 20:15

Hallo,

danke, ich hatte die entsprechende Stelle gefunden. Die neue Validierung finde ich aber besser :-) Danke für den Hinweis.
Grüße, Bastian

Benutzeravatar
kaiuwe
Beiträge: 40
Registriert: 26. Jan 2009, 23:09
Wohnort: Wesel

21. Dez 2009, 22:26

Hallo, gibt es schon eine Möglichkeit Dateien per E-Mail zu verschicken?
Oder kennt jemand ein Modul mit dem dies möglich ist?
do form! find ich klasse. Ist wirklich einfach zu bedienen. Für X-form gibt's ja kein fertiges Modul mit diesen Möglichkeiten.
--------------------------------------------------
Auch diese Google wird irgendwann platzen.
Befreit Euch davon. Und surft endlich frei.

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

29. Dez 2009, 01:06

Hi,

kann mir wer helfen, meinen Denkfehler zu finden.

Ich hab (glaube ich) die aktuelle Version von doform2 und bekomme beim absenden die folgenden Fehlermeldungen vom Modul ausgegeben. Es wurde auch nur einmal auf "Absenden" geklickt.
Bei der Eingabe traten Fehler auf.
Bitte korrigieren Sie Ihre Eingaben.
Sie haben versucht die Seite neu zu laden. Ihre Nachricht wurde bereits versandt
Session wird gestartet, captcha ist okay. Laut Ausgabe der Sessionvar stimmt auch das captcha mit dem eingegebenen überein.

Eine andere Seite auf dem gleichen Server benutzt eine ältere Version, dort funktioniert alles prima.

Vielleicht hatte irgendwer von euch auch schon mal das "Problem" und weiß noch wie er/sie's gelöst hat.

[EDIT:] Habe gerade mal das captcha rausgenommen und bekomme jetzt zwei Mails aus dem formular.

Danke und viele Grüße,
Sven

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

4. Jan 2010, 12:44

---- ENDE do form 2 -------

Neues Jahr .. neues Modul ...


------- START do form! 3 --------
Zuletzt geändert von Thomas.Skerbis am 4. Jan 2010, 17:28, insgesamt 1-mal geändert.

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

Problem mit der zweier Version doform

4. Jan 2010, 16:30

Hey, hat wirklich niemand eine Idee, warum das bei mir spinnt. (siehe vorletzter Post)

Viele Grüße,
Sven

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

Re: Problem mit der zweier Version doform

4. Jan 2010, 17:10

svenalbert hat geschrieben:Hey, hat wirklich niemand eine Idee, warum das bei mir spinnt. (siehe vorletzter Post)

Viele Grüße,
Sven
Auch in der aktuellen Fassung?

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

4. Jan 2010, 21:31

Fatal error: Cannot redeclare doform_checkelements() (previously declared in /var/www/.../.../redaxo/include/classes/class.rex_article.inc.php(271) : eval()'d code:224) in /var/www/.../.../redaxo/include/classes/class.rex_article.inc.php(271) : eval()'d code on line 224
Öhm ja, nun geht gar nix mehr. *amkopfkratz*
Zuletzt geändert von svenalbert am 4. Jan 2010, 23:55, insgesamt 1-mal geändert.

Benutzeravatar
Koala
Beiträge: 1612
Registriert: 3. Okt 2005, 13:20

4. Jan 2010, 23:16

svenalbert hat geschrieben:
Fatal error: Cannot redeclare doform_checkelements()...
Du verwendest das Modul mehrmals in einem Artikel?

In der Modulausgabe gibt es die Funktion: doform_checkelements
Um diese Fehlermeldung zu beseitigen, muss die Funktion mit dieser Abfrage umschlossen werden:

Code: Alles auswählen

if (!function_exists('doform_checkElements')) {
Nach der Funktion dann noch die schließende Klammer nicht vergessen.

Hier das Ganze mal komplett:

Code: Alles auswählen

if (!function_exists('doform_checkElements')) {
function doform_checkElements($mustHave, $elements, $formelement) {
  global $REX;
  // Diese Information ist nur im Backend zu sehen
  if ($REX['REDAXO']) {
    // $formelement darf nicht leer sein
    if ($formelement == '') { return 'Der Formelementename wurde nicht erkannt. Siehe Funktion "doform_checkElements"<br />'; }
    // $mustHave muss mind. 2 sein
    if ((int) $mustHave < 2) { return $formelement.': Die Vorgabezahl darf nicht kleiner als 2 sein!<br />'; }
    // $elements muss ein Array sein
    if (!is_array($elements)) { return $formelement.': Das ubergebene Element ist kein Array.<br />'; }
    
    $anzahlElemente = count ($elements);
    if ($mustHave > count ($elements)) {
      $fehlermeldung = 'Es wurden nicht genuegend Argumente fuer das Formualarfeld "'.$formelement.'" angegeben.<br />';
      $fehlermeldung .= 'Angegeben wurden '.$anzahlElemente.' Argumente, benoetigt werden aber mind. '.$mustHave.' Argumente!<br />'."\n";
      return $fehlermeldung;
    } else {
      return '';
    }
  } else {
    return '';
  }
}
}
<?php print $Footer; ?>

Sven

Ich würde ja die Welt verändern,
doch der Quellcode ist mir zu absurd!


REX 5 :: Tricks und Tipps
REX 5 :: Modulesammlung

Wiki zu Redaxo 3 und 4 (!nur noch im Webarchiv!)

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

4. Jan 2010, 23:54

Koala hat geschrieben:Du verwendest das Modul mehrmals in einem Artikel?
Nein, definitiv nicht.

Aber ich hatte ja oben schon mal geschrieben (damals noch mit der letzten zweier version), dass ich das gefühl habe, dass die Seite irgendwie mehrfach "ausgeführt" wird.

Das captcha funktionierte nicht (bzw. machte probleme), wenn ich es rausscheiße, dann bekomme ich zwei mails, obwohl nur einmal abgeschickt wird.

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

5. Jan 2010, 11:40

so, neuer tag - neues glück.

bei tageslicht denkt es sich auch wesentlich besser.

hab meinen fehler gefunden. lag an mir.

ich lasse automatisch die description mit den ersten 180 zeichen des contents füllen. trotzdem mehr als 180 zeichen text vor dem formular standen, scheint es das form zu laden und somit war es wirklich mehrfach eingebunden.

dies erklärt alle bisher aufgetretenen fehler.

danke thomas und sven für eure mühen.

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

5. Jan 2010, 13:57

Es liegt sicher nicht an den 180 Zeichen.
Ich glaube der Artikel wird komplett geladen und dann wird der Text ausgelesen. Daher werden do form! und auch alle anderen Module ausgeführt. Evtl. können wir die betreffenden Module ja aufeinander abstimmen um das Problem zu vermeiden.
Dazu müsste in dem Teaser-Modul eine $REX-Variable gesetzt werden.
do form! könnte dann prüfen ob die Variable gesetzt ist und die Ausführung unterbinden.

Danke Euch beiden. Da hierdurch eine weitere Fehlerquelle behoben werden konnte.
Do form! ist so angelegt dass es mehrfach auf einer Seite eingesetzt werden soll. Durch den Funktionscheck geht das jetzt auch wieder. Aktualisierung online.

Benutzeravatar
svenalbert
Beiträge: 1308
Registriert: 24. Nov 2005, 17:21
Wohnort: Clausthal-Zellerfeld / lower saxony
Kontaktdaten: ICQ Website

5. Jan 2010, 14:17

Mahlzeit!

Ich poste mal meinen dreckigen Code. ^^ Ist mal ganz quick&dirty entstanden funktionierte aber bisher und deswegen hab ich nichts weiter dran gemacht.

Code: Alles auswählen

  // STANDARDANGABEN für die Description und die Keywords der Seite
  if($this->getValue("description") != "") 
  {
    $meta_beschreibung = htmlspecialchars($this->getValue("description")); 
  } 
  else 
  { 
    $suchmuster = "/<h([1-6])>(.+?)<\/h\\1>/si"; 
    $first180chars = preg_replace($suchmuster, "", $this->getArticle(1)); 
    $first180chars = strip_tags($first180chars); 
    $first180chars = substr($first180chars, 0, 180); 
    $first180chars = trim(str_replace(array("\r\n", "\r", "\n", "\t"), ' ', $first180chars)); 
    $meta_beschreibung = $first180chars; 
  } // else { $meta_beschreibung = htmlspecialchars($articleD); }
  if($this->getValue("keywords")!= "") 
  { 
    $meta_suchbegriffe = htmlspecialchars($this->getValue("keywords")); 
  } 
  else 
  {
    $meta_suchbegriffe = htmlspecialchars($articleK);
  } 

Zudem ist anscheinend vorhin ein EDIT von mir nicht genommen worden.

Zum einen steht im Footer noch Version 2 und bei non-html-mails fehlen die zeilenumbrüche.

falls das doch schon irgendwo steht, dann bin ich jetzt nur zu blöd es zu finden. ;)=

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

5. Jan 2010, 16:19

So jetzt steht da 3 und man kann jetzt den Betreff mit in die Bestätigungsmail per Platzhalter einfügen.
Checkboxen können jetzt auch besser per css konfiguriert werden. Da sie in einem span mit eigener Klasse abgelegt sind. (.checkspan)



Versuche mal folgendes:

Code: Alles auswählen

$REX['noform']="jup";
// STANDARDANGABEN für die Description und die Keywords der Seite
  if($this->getValue("description") != "") 
  { 
    $meta_beschreibung = htmlspecialchars($this->getValue("description")); 
  } 
  else 
  { 
    $suchmuster = "/<h([1-6])>(.+?)<\/h\\1>/si"; 
    $first180chars = preg_replace($suchmuster, "", $this->getArticle(1)); 
    $first180chars = strip_tags($first180chars); 
    $first180chars = substr($first180chars, 0, 180); 
    $first180chars = trim(str_replace(array("\r\n", "\r", "\n", "\t"), ' ', $first180chars)); 
    $meta_beschreibung = $first180chars; 
  } // else { $meta_beschreibung = htmlspecialchars($articleD); } 
  if($this->getValue("keywords")!= "") 
  { 
    $meta_suchbegriffe = htmlspecialchars($this->getValue("keywords")); 
  } 
  else 
  { 
    $meta_suchbegriffe = htmlspecialchars($articleK); 
  }
$REX['noform']="";
 
Um die do form!-Ausgabe folgendes setzen:



Code: Alles auswählen

 if ($REX['noform']!="jup")
{
// hier do form! Ausgabe einsetzen
}
müsste eigentlich funktionieren

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

5. Jan 2010, 23:15

UPDATE: 3.02
- behebt Probleme mit letters
- Neue Validierungen: plz4, name, check
Mehr im Wiki

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

6. Jan 2010, 15:53

hi@all

habe gerade mal die doform 3 getetet.

leider bekomme ich keine inputfelder angezeigt also nur so:

Code: Alles auswählen

<fieldset class="fieldset">
<legend>Kontaktdaten </legend>
<input id="el_0" type="hidden" value="Kontaktdaten " name="FORM[doform8][el_0]" title="Kontaktdaten"/>
<div class="formhinweis">Name</div>
<div class="formhinweis">Name</div>
<div class="formhinweis">Firma </div>
<div class="formhinweis">Straße </div>
<div class="formhinweis">PLZ</div>
<div class="formhinweis">Ort</div>
<div class="formhinweis">Telefon</div>
<div class="formhinweis">Telefax</div>
</fieldset>
ist aus der original vorlage.
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

6. Jan 2010, 16:07

Hallo Richy,
Bitte die Ausgabe mal tauschen.
Dürfte jetzt gehen
Zuletzt geändert von Thomas.Skerbis am 6. Jan 2010, 16:11, insgesamt 2-mal geändert.

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

6. Jan 2010, 16:10

Jau supi klappt bestens...
man man bei den neuerunden muß ja bald ein neues video ran ;)

bei der kurzanleitung fehlt noch die anleitung für das datum und geb. felder

sonnst sieht es supi aus. werde mal weiter testen.
danke für die tolle arbeit.

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

6. Jan 2010, 16:12

Jo.. muss noch etwas dran gefeilt werden.
Falls Du wieder ein Tutorial planst, bitte ich Dich noch ein Weilchen zu warten.
Ich möchte noch ein paar Funktionen hinzufügen und den Code bereinigen.
Wenn Version 3.1 fertig ist, kannst Du loslegen.
Ok?

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

6. Jan 2010, 16:38

ok ich warte ;)

habe noch einen kleinen bug gefunden wenn man ein file uploadet, wird dieses nicht in der email erwähnt, sodass ich keine info darüber habe ob etwas hochgeladen wurde.

gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

Thomas.Skerbis
Beiträge: 1371
Registriert: 4. Aug 2006, 14:06
Wohnort: Rheinberg
Kontaktdaten: Website Twitter

6. Jan 2010, 17:34

Richard.Laing hat geschrieben: habe noch einen kleinen bug gefunden wenn man ein file uploadet, wird dieses nicht in der email erwähnt, sodass ich keine info darüber habe ob etwas hochgeladen wurde.
ups!, vergessen
Fix online

Ändere

Code: Alles auswählen

$ignore = array('captcha','sicherheitscode','ilink', 'ilink2', 'divstart', 'divend', 'fieldend', 'info','upload','exlink'); 
in:

Code: Alles auswählen

$ignore = array('captcha','sicherheitscode','ilink', 'ilink2', 'divstart', 'divend', 'fieldend','info','exlink'); 

Benutzeravatar
Richard.Laing
Beiträge: 2105
Registriert: 28. Aug 2005, 00:55
Wohnort: Brühl / Rheinland
Kontaktdaten: Website

6. Jan 2010, 17:58

üüüümmmpf
hötte ich ja mal selber drauf kommen können... steht ja nun mal im code....

danke
gruß richy
REXvideo Videotutorials für Redaxo www.REXvideo.de
Webseite www.on-laing.de smokezig.de www.smokezig.de

bina81
Beiträge: 15
Registriert: 8. Jan 2010, 10:46

8. Jan 2010, 13:13

Also diese Fehlermeldung bekomme ich auch, wenn ich versuche zu editieren und den Artikel vorher nicht "offline" genommen habe... Wenn er offline ist, gehts...

svenalbert hat geschrieben:
Fatal error: Cannot redeclare doform_checkelements() (previously declared in /var/www/.../.../redaxo/include/classes/class.rex_article.inc.php(271) : eval()'d code:224) in /var/www/.../.../redaxo/include/classes/class.rex_article.inc.php(271) : eval()'d code on line 224
Öhm ja, nun geht gar nix mehr. *amkopfkratz*

Zurück zu „Allgemeines [R4]“