Hi Community,
normalerweise finde ich im Forum immer eine Antwort. Diesmal nicht (oder ich stehe auch hier auf der Leitung):
Update von Contao 4.9.13 auf 4.13.31. Php 7.4.33 auf 8.1.24.
Formular lief.
Ein Formular schickt Daten an die Datenbank (Eingaben speichern).
Über Contao können die Daten auf einer Seite wieder abgerufen werden.
Im Formular sind Checkboxen die wahlweise clickbar sind oder nicht.
Pro Datenbankeintrag sind es 3-4 Checkboxen.
Wenn auch nur eine Checkbox angeklickt ist, können die Daten in Contao wieder sichtbar abgerufen werden.
Wenn aber KEINE Checkbox angeklickt wird steht in der Datenbank zwar „NULL“ aber beim Abrufen macht Contao ein Error.
Hab schon viel Probiert, bekomm das aber nicht hin…
Die Checkboxen (das ganze Formular per contao/dca/tl_formularX.php) werden so an die Datenbank geschickt, das gibt bei angeclickter Checkbox auch einen Eintrag:
PHP-Code:
'kontakttyp' => [
'inputType' => 'textarea',
'eval' => ['tl_class' => 'clr', 'rte' => 'tinyMCE', 'mandatory' => true],
'sql' => ['type' => 'text', 'notnull' => false]
],
So wird es wieder in Contao ausgegeben:
PHP-Code:
<?php if (isset($questionnaires['kontakttyp'])): ?>
<div class="content grid-mobile-12 grid-6">
<div class="title">Wenn Sie Kontakt mit Personen aus Ihrem Zielland aufnehmen, in welcher Form geschieht dies?</div>
<?php if (!empty($questionnaires['kontakttyp'])): ?>
<?php foreach ($questionnaires['kontakttyp'] as $_kontakttyp):
$kontakttyp = implode(", ", unserialize($_kontakttyp));
?>
<div class="description"><?php echo(!empty($kontakttyp) ? $kontakttyp : "-") ?></div>
<?php endforeach; ?>
<?php endif; ?>
</div>
<?php endif; ?>
Bei leerem Checkbox Eintrag bekomme ich: 'Es ist ein Fehler aufgetreten' (i like it) und im log:
Code:
[2023-10-16T09:35:42.841797+01:00] security.INFO: Populated the TokenStorage with an anonymous Token. [] []
[2023-10-16T10:35:42.955727+02:00] request.CRITICAL: Uncaught PHP Exception TypeError: "implode(): Argument #2 ($array) must be of type ?array, bool given" at /usr/www/users/.../view_questions.php line 1305 {"exception":"[object] (TypeError(code: 0): implode(): Argument #2 ($array) must be of type ?array, bool given at /usr/www/users/.../view_questions.php:1305)"} []
Hat jemand eine Idee dazu? (Wahrscheinlich total simpel) Danke. Danke.
Lesezeichen