Lauftext auf der Startseite reparieren
Der Lauftext stand in Short-Open-Tags:
+++<? echo $Laufband1 ?>+++
short_open_tag ist auf dem Server abgeschaltet, deshalb landete der
PHP-Quelltext woertlich im ausgelieferten HTML. Der Browser hat
"<? echo $Laufband1 ?>" als unbekanntes Tag verworfen - sichtbar
blieben nur die Pluszeichen. Ueberprueft am ausgelieferten HTML der
Startseite, dort stand der Quelltext unveraendert drin.
Beide Vorkommen nutzen jetzt <?php und eine gemeinsam aufbereitete
Ausgabe:
- Leere Eintraege werden uebersprungen; sind alle sechs leer, entfaellt
das Laufband ganz, statt leere +++ durchs Bild zu schicken.
- Der Inhalt kommt aus dem Editor in webseitenadmin.php und ist in der
Datenbank HTML. config.inc.php entfernt zwar die Tags, die Entities
bleiben aber stehen - daher erst html_entity_decode(), dann
htmlspecialchars(). Sonst waere aus & ein sichtbares "&" und
aus Ö ein "Ö" geworden.
- Beide Bloecke trugen dieselben id-Attribute (marquee-cont, scroll).
Doppelte ids sind ungueltiges HTML; sie sind durch eine Klasse
ersetzt, css/ticker.css spricht jetzt beide Schreibweisen an.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+4
-2
@@ -1,8 +1,10 @@
|
||||
#marquee-cont {
|
||||
/* Der Lauftext kommt auf der Startseite zweimal vor - deshalb Klasse
|
||||
statt id, doppelte id-Attribute waeren ungueltiges HTML. */
|
||||
.marquee-cont, #marquee-cont {
|
||||
background: #ff6363;
|
||||
margin-top:10px;
|
||||
}
|
||||
#marquee-cont marquee {
|
||||
.marquee-cont marquee, #marquee-cont marquee {
|
||||
margin-top: 5px;
|
||||
background: #ff6363;
|
||||
}
|
||||
|
||||
@@ -120,11 +120,34 @@
|
||||
|
||||
?>
|
||||
<hr>
|
||||
<div id="marquee-cont">
|
||||
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
||||
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
||||
<?php
|
||||
// Der Lauftext stand hier in Short-Open-Tags (<? ... ?>). Die sind auf dem
|
||||
// Server abgeschaltet, weshalb der PHP-Quelltext woertlich im HTML landete
|
||||
// und der Browser ihn als unbekanntes Tag verworfen hat - sichtbar blieben
|
||||
// nur die +++.
|
||||
// Leere Eintraege werden uebersprungen, sonst scrollen leere +++ durchs Bild.
|
||||
$laufbandEintraege = array_filter(
|
||||
[$Laufband1, $Laufband2, $Laufband3, $Laufband4, $Laufband5, $Laufband6],
|
||||
static function ($eintrag) { return trim((string)$eintrag) !== ''; }
|
||||
);
|
||||
$laufbandAusgabe = '';
|
||||
foreach ($laufbandEintraege as $eintrag) {
|
||||
// Der Inhalt kommt aus dem Editor in webseitenadmin.php und ist in der
|
||||
// Datenbank HTML. config.inc.php entfernt die Tags, die Entities bleiben
|
||||
// aber stehen - erst dekodieren, dann escapen, sonst wird aus & ein
|
||||
// sichtbares "&".
|
||||
$klartext = html_entity_decode((string)$eintrag, ENT_QUOTES | ENT_HTML5, 'UTF-8');
|
||||
$laufbandAusgabe .= '+++' . htmlspecialchars(trim($klartext), ENT_QUOTES, 'UTF-8')
|
||||
. '+++ ';
|
||||
}
|
||||
?>
|
||||
<?php if ($laufbandAusgabe !== ''): ?>
|
||||
<div class="marquee-cont">
|
||||
<marquee onmouseover="this.stop();" onmouseout="this.start();">
|
||||
<?php echo $laufbandAusgabe; ?>
|
||||
</marquee>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<hr>
|
||||
<br>
|
||||
@@ -142,11 +165,13 @@
|
||||
|
||||
|
||||
<!-- laufband -->
|
||||
<div id="marquee-cont">
|
||||
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
||||
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
||||
<?php if ($laufbandAusgabe !== ''): ?>
|
||||
<div class="marquee-cont">
|
||||
<marquee onmouseover="this.stop();" onmouseout="this.start();">
|
||||
<?php echo $laufbandAusgabe; ?>
|
||||
</marquee>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user