Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Fragen zum Erstellen von Templates für webEdition.
SiBl
Junior Member
Beiträge: 14
Registriert: Mo 4. Jan 2010, 20:40

Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon SiBl » Mo 19. Okt 2020, 15:42

Hallo allerseits,

seit Jahren hat auf der Website eines Kunden ein Gästebuch einwandfrei funktioniert.
Seit ich ein Update von 8.1.3 auf 9.0.4 (MySQL-Version 8.0.19) durchgeführt habe, gibt es ein Problem. Ein neuer Eintrag (natürlich mit ausgefülltem Pflichtfeld) kann nicht gespeichert werden, da gemeldet wird, dass das Pflichtfeld mit dem Namen "Text" (so heißt das Pflichtfeld) nicht ausgefüllt wurde.

Ich habe festgestellt, dass beim we:form-Tag als auch bei we: write (type document) bei den Attributen neuerdings eine Pflichtangabe "Text*" abgefragt wird (siehe Bild). Als Auswahl sind dort die Dokumenttypen gelistet. In der Tagreferenz gibt es zum Pflichtfeld "Text*" keinen Eintrag. Kann es sein, dass dies ein Bug ist? Bzw. Was hat es mit diesem Pflichtfeld auf sich?

Im Fehlerprotokoll gibt es eine Notice: "Trying to access array offset on value of type int"; script name:
"webEdition/we/classes/weTag/we_weTag_parser.class.php"

Bin für jeden Hinweis dankbar.

Silvia

Hier der Code des Formulars für den Gästebucheintrag:

Code: Alles auswählen

<we:form type="document" id="4875" name="GBForm" method="get" doctypeID="19"> 
	<?php 
     echo "<input type=\"hidden\" name=\"timestamp\" value=\"" . time() ."\">";
   ?>
    <we:userInput name="Datum" type="date" hidden="true"/>
    <p>
      Name:<br />
      <we:userInput name="Name" type="textinput" size="46" class="eingabe" />
    </p>
    <p>
      Ort:<br />
      <we:userInput name="Ort" type="textinput" size="46" class="eingabe" />
    </p>
    <p>
      E-Mail-Adresse:<br />
      <we:userInput name="EMailAdresse" type="textinput" size="46" class="eingabe"/>
    </p>
    <p>
      Text*:<br />
      <we:userInput name="Text" type="textarea" width="490" height="200" bgcolor="#f5f5f5" wysiwyg="true" class="eingabe" commands="bold,italic,underline" />
    </p>
	
	<p>Einwilligung*:<br />
      <we:userInput type="checkbox" name="akzeptieren" property="false" checked="false" editable="true" /> <span style="font-size: 0.8em;">Ich habe die <we:a edit="document" id="3252">Datenschutzerklärung</we:a> zur Kenntnis genommen. Ich stimme einer elektronischen Speicherung und Verarbeitung meiner eingegebenen Daten für den Eintrag ins Gästebuch zu. Hinweis: Die Einwilligung kann jederzeit für die Zukunft per E-Mail an info[at]xxxx.de widerrufen werden.</span><br/><br/>
    </p>
	
    <p>
      * Plichtfelder
    </p>
<p>

          <we:captcha maxlength="7" subset="alphanum" case="lower" name="captchabox" class="captchafeld" width="80" height="25" alt="codebild" align="center" valign="middle" fontcolor="#666666"  stylecolor="#99cc33,#ff00ff" /> <input type="button" value="Code neu laden" onClick="window.location.reload()" class="schaltflaeche_cap"><br /><br />
          Bitte geben Sie den in der Grafik angezeigten Zeichen<span lang="en" xml:lang="en">code</span> in das Formularfeld &quot;Zeichen<span lang="en" xml:lang="en">code</span>&quot; ein.
        </p>
        <p>
          Zeichen<span lang="en" xml:lang="en">code</span>: 
          <input id="code" type="text" name="code" class="capcode"/>
        </p>
    <p>
      <input type="submit" value="Eintragen" class="schaltflaeche">
      <input type="reset" value="Zur&uuml;cksetzen" class="schaltflaeche">
    </p>
  </we:form>
  
Hier der Code, mit dem das Formular des Gästebucheintrags gespeichert werden soll:

Code: Alles auswählen

<we:ifUserInputEmpty match="Text" formname="GBForm">
					<script language="Javascript" type="text/javascript">
						<!--
						alert("Sie haben das Pflichtfeld \"Text\" nicht ausgefüllt.");
						history.back();
						//-->
					</script>
				</we:ifUserInputEmpty>
				<we:ifUserInputEmpty match="akzeptieren" formname="GBForm">
					<script language="Javascript" type="text/javascript">
						<!--
						alert("Setzen Sie bitte ein Häkchen, wenn Sie mit der Übertragung Ihres Gästebucheintrags einverstanden sind und die Datenschutzerklärung zur Kenntnis genommen haben.");
						history.back();
						//-->
					</script>
				</we:ifUserInputEmpty>

				<we:ifNotUserInputEmpty match="Text" formname="GBForm">
					<we:ifNotUserInputEmpty match="akzeptieren" formname="GBForm">


						<!-- ZAHLENCODE AUSWERTEN -->
						<we:ifCaptcha name="code" formname="GBForm">
							
								<we:write type="document" formname="GBForm" publish="true" doctype="Gaestebucheintrag" /> 
							<script language="Javascript" type="text/javascript">
									<!--
									alert("Vielen Dank für den Eintrag in unser Gästebuch.");
									
									document.location.href = "<we:url id="4873"/>";
									//-->
								</script>
							<we:else />
						   <p>
								<script language="JavaScript" type="text/javascript">
									<!--
									alert('Der Zeichencode ist nicht korrekt!');
									history.back();     
									//-->
								</script>
							</p>      
			</we:ifCaptcha>
						
							</we:ifNotUserInputEmpty>
				</we:ifNotUserInputEmpty>
						
							
							<we:ifNotWritten type="document" formname="GBForm">
								<script language="Javascript" type="text/javascript">
									<!--
									alert("Der Eintrag in unser Gästebuch ist fehlgeschlagen.");
									document.location.href = "<we:url id="4873"/>";
									//-->
								</script>
							</we:ifNotWritten>
Dateianhänge
we_write.jpg
we_write.jpg (40.2 KiB) 2273 mal betrachtet

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon NilSole » Mo 19. Okt 2020, 18:06

Hallo Silvia,

es gab zwischen Version 8 und 9 eine Änderung der Feldnamen bei Dokumenttypen. Diese wurden an andere Tabellen angepasst, so dass der Name nun überall Text heißt.

Eventuell entsteht so das von dir beschriebene Problem. Versuch doch mal einen anderen Namen als ‚Text‘

Schöne Grüße
Nils

SiBl
Junior Member
Beiträge: 14
Registriert: Mo 4. Jan 2010, 20:40

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon SiBl » Mo 19. Okt 2020, 18:58

Hallo Nils,

vielen Dank für die Rückmeldung. Habe es ausprobiert. Leider ist das nicht die Lösung. Es kommt nun wieder die Meldung, dass das Pflichtfeld (jetzt mit anderem Namen als "Text") nicht ausgefüllt wäre.

Habe übrigens jetzt im Form-Tag noch das Attribut "Text" hinzugefügt:
<we:form type="document" id="4875" name="GBForm" method="get" Text="Gaestebucheintrag" > ...
Aber wie gesagt, ändert sich nichts.

Gruß
Silvia

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon NilSole » Mo 19. Okt 2020, 21:33

Hallo Silvia,

da scheint es wohl gerade einen Bug mit den Formularen zu geben. Ich werde das mal in die Bugbase posten.

Versuch mal anstatt doctypeID im we:form doctype="" zu verwenden, dass könnte laufen.

Schöne Grüße
Nils

SiBl
Junior Member
Beiträge: 14
Registriert: Mo 4. Jan 2010, 20:40

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon SiBl » Mi 21. Okt 2020, 22:03

Hallo Nils,

vielen Dank für den neuen Tipp. Leider kam ich erst heute dazu, das mal auszuprobieren. Leider funktioniert es so aber nach wie vor nicht. Das ausgefüllte Textfeld wird ignoriert. Bin ratlos.

Viele Grüße

Silvia

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon NilSole » Do 22. Okt 2020, 00:26

Hmm, dann muss da wohl noch mehr defekt sein.

Du könntest noch versuchen, die Input Felder manuell zu erstellen.

Etwa in der Form.

Code: Alles auswählen

<input name="we_ui_GBForm[name-des-feldes]">
Das sollte zumindest die Eingaben der Userinputs korrekt prüfen lassen. Ob es dann auch korrekt mit we:write funktioniert, weiß ich aber jetzt nicht. Das sollte dann aber später wieder auf die webEdition Tags umgestellt werden, nur für den Fall, dass sich da was ändert.

Schöne Grüße
Nils

SiBl
Junior Member
Beiträge: 14
Registriert: Mo 4. Jan 2010, 20:40

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon SiBl » Do 22. Okt 2020, 19:01

Hallo Nils,

...also, jetzt bin ich einen kleinen Schritt weiter gekommen. Aber es läuft noch nicht.
Ich habe alle Input-Felder wie vorgeschlagen manuell erstellt und bekomme nach dem korrekten Ausfüllen des Formulars die Meldung, dass der Gästebucheintrag erfolgreich war. Nur leider wird das Dokument für den neuen Eintrag nicht erstellt. Es wird zwar ein neuer Ordner für das aktuelle Datum erstellt, aber die PHP-Seite fehlt.

Wahrscheinlich ist auch irgendetwas beim we:Write-Tag nicht in Ordnung. Habe folgenden Code ausprobiert:

Code: Alles auswählen

<we:write type="document" formname="GBForm" publish="true" doctype="Gaestebucheintrag" Text="Gaestebucheintrag" />
Hier sind verschiedene Dinge merkwürdig: Wenn ich im Tag-Manager das we:write zusammenstellen will, gibt es das Attribut doctype nicht, nur doctypeID. Wenn ich doctypeID mit der richtigen ID eintrage, bekomme ich die Fehlermeldung beim Abschicken des Formulars "das Attribut doctype darf nicht fehlen oder leer sein". Also habe ich nun doctype="Gaestebucheintrag" hinzugefügt. Seither wird wie gesagt das Formular vermeintlich ohne Fehler abgeschickt. Das neue Attribut Text="" scheint keine Funktion zu haben. Denn es gibt keinen Unterschied, ob ich es drin lasse oder entferne, obwohl es ja eigentlich laut Tag-Manager ein Pflichtfeld ist.

Viele Grüße
Silvia

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Gästebuch funktioniert nach Update auf WE 9 nicht mehr

Beitragvon Finn » Mo 2. Nov 2020, 11:36

Moin Silvia,
solche Fehler am besten zusätzlich in der Bugbase (https://qa.webedition.org) eintragen, damit sie schnell behoben werden.

LG
Finn
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste