function RenderStoreRow($row) { ?> <tr> <td><img alt='***' src='<?= $row['bild'] ?>'></td> <td><?= htmlspecialchars($row['verkaeufer']) ?></td> <td><?= htmlspecialchars($row['name']) ?></td> <td><?= $row['kosten'] ?></td> <td><?= htmlspecialchars($row['kleidungsstueck']) ?></td> <td><?= $row['size'] ?></td> <td><?= $row['grade'] ?></td> <td><?= htmlspecialchars($row['firma']) ?></td> <td><?= htmlspecialchars($row['ort']) ?></td> <td><?= $row['erstellt_am'] ?></td> </tr> <?php }
$row['bild']
muss auch mit htmlspecialchars
behandelt werden. In diesem konkreten Fall muss außerdem das Flag ENT_QUOTES
gesetzt werden, weil das src
-Attribut single Quotes verwendet und diese nicht standardmäßig maskiert werden. Alternativ kann man double Quotes für das src
-Attirbut verwenden. Bei kosten
, size
, grade
und erstellt_am
ist die Maskierung nicht unbedingt notwendig, wenn der MySQL-Datentyp keine HTML-Sonderzeichen erlaubt. Es schadet aber auch nicht und ich würde daher alles maskieren. Als positiven Nebeneffekt sind die Spalten dann auch bündig und besser zu lesen.
function RenderStoreRow($row)
{
?> <tr>
<td><img alt="***" src="<?= htmlspecialchars($row['bild']) ?>"></td>
<td><?= htmlspecialchars($row['verkaeufer']) ?></td>
<td><?= htmlspecialchars($row['name']) ?></td>
<td><?= htmlspecialchars($row['kosten']) ?></td>
<td><?= htmlspecialchars($row['kleidungsstueck']) ?></td>
<td><?= htmlspecialchars($row['size']) ?></td>
<td><?= htmlspecialchars($row['grade']) ?></td>
<td><?= htmlspecialchars($row['firma']) ?></td>
<td><?= htmlspecialchars($row['ort']) ?></td>
<td><?= htmlspecialchars($row['erstellt_am']) ?></td>
</tr>
<?php
}