virker din header("location: login.php"); ??
det burde den ikke gører, da du sender HTML til skærmen før du forsøger at udfører din header("location: ");
ref
https://www.php.net/manual/en/function.header.phpRemember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include, or require, functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
er du sikker på du får data over i $_POST ?? (svaret er nej)
du har ikke angivet nogle method i din html form, så de sendes over med GET (default)
så du mangler at sætte en method i <form action="action_page.php">
dette
$Avl = trim($_POST["Avls godkendt"]);
skulle vel hedde
$Avl = trim($_POST["avl"]);
hvis vi ser på
<input type="text" placeholder="Enter avl"
name="avl" required>
btw: det er også en dum ide at have mellemrum eller special tegn i name, det giver kun udfordringer
<center>
https://www.w3schools.com/tags/tag_center.aspaction_page.php
<?php
// Include config file
require_once "config.php";
// Check if the user is logged in, if not then redirect him to login page
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
header("location: login.php");
exit;
} // flytted fra bunden
// insert(users)
$Chipnummer = trim($_POST["Chipnummer"]);
$hunden = trim($_POST["hunden"]);
$DHLnummer = trim($_POST["DHLnummer"]);
$Avl = trim($_POST["avl"]);
// her mangler noget sql insert
// Close connection
mysqli_close($link);
?>
hvis du ikke har helt styr på Prepare Statement under mysqli så kig på denne quick guide
https://www.computerworld.dk/uploads/eksperten-guider/1480-Prepared-Statements-under-MySQLI-kom-igang.pdfgodt nok af ældre dato