Итак, вот как обычно все делается.Ваш PHP и HTML разделены - в идеале в отдельных файлах, но по крайней мере вы не должны выводить большие куски своей страницы с помощью операторов echo
.Выход из режима PHP для вывода большей части вашей страницы, возвращаясь только тогда, когда необходимо вывести переменную или вам нужна управляющая структура, такая как цикл.В этом коде я использовал альтернативный синтаксис для управляющих структур и короткий эхо-тег , чтобы сделать вещи (IMO) более аккуратными.Последнее замечание: используйте htmlspecialchars()
, чтобы обеспечить правильное экранирование значений.
Что касается JavaScript, вы должны использовать прослушиватели событий для присоединения действий к элементам, напримерследующий пример.Это проще с библиотекой , такой как jQuery , но достаточно просто для работы с собственным кодом DOM.
<?php
$conn = ...
$sql = "SELECT id, naam, adres, email FROM klanten";
$result = $conn->query($sql);
// do some error checking on the result before proceding
?>
<html>
...
<table>
<?php foreach($result->fetch_assoc() as $row): ?>
<tr>
<td><?=htmlspecialchars($row["id"])?></td>
<td><?=htmlspecialchars($row["naam"])?></td>
<td><?=htmlspecialchars($row["adres"])?></td>
<td><?=htmlspecialchars($row["email"])?></td>
<td>
<a href='index.php'>
<i class='fas fa-pen'></i>
</a>
</td>
<td>
<a href="delete.php?id=<?=htmlspecialchars($row["id"])?>" class="delete">
<i class="fas fa-user-times"></i>
</a>
</td>
</tr>
<?php endforeach ?>
</table>
...
<script>
// look for every element with the "delete" class
var links = document.getElementsByClass("delete");
// loop over each one that we find
for (var i = 0; i < links.length; i++) {
// run a function when the element is clicked
links[i].addEventListener("click", function(e) {
return confirm("Are you sure?");
}, false);
}
</script>