Er is een fout opgetreden:
- Foutnummer: 2
- Bericht: Cannot modify header information - headers already sent by (SalonGrip/includes/header.php:12)
- Bestand: SalonGrip/register.php
- Regellijn: 86
- Tijd: 2025-01-29 21:16:50
Er is niets veranderd aan de header pagina en bovenstaande foutmelding krijg ik alleen, na het invullen van het registratieformulier.
Wat ik al heb gecontroleerd aan de registratie pagina:
Er is geen witte en/of spatie ruimte ergens die ik kan vinden.
Er wordt geen output gestuurd voor de functie header
header("Location: wachtkamer.php");Ik heb dus geen idee waar ik het moet nog gaan zoeken en hopelijk hebben jullie nog tips voor mij!
Voor de volledigheid, zie hieronder de code van registratiepagina:
<?php
/*ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);*/
require_once 'includes/config.php'; // Verbind met de database
require_once 'includes/functions.php'; // Importeer functies
require_once 'includes/header.php'; // Voeg de header toe
$message = [];
$success = "";
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// Input valideren
$voornaam = sanitizeInput($_POST['voornaam']);
$achternaam = sanitizeInput($_POST['achternaam']);
$email = sanitizeInput($_POST['email']);
$mobiel = sanitizeInput($_POST['mobiel']);
$wachtwoord = $_POST['wachtwoord'];
$bevestig_wachtwoord = $_POST['bevestig_wachtwoord'];
$kapperszaak = sanitizeInput($_POST['kapperszaak']);
$straat = sanitizeInput($_POST['straat']);
$postcode = sanitizeInput($_POST['postcode']);
$plaats = sanitizeInput($_POST['plaats']);
// Controleer of velden ingevuld zijn
if (empty($voornaam) || empty($achternaam) || empty($email) || empty($mobiel) || empty($wachtwoord) || empty($bevestig_wachtwoord) || empty($kapperszaak) || empty($straat) || empty($postcode) || empty($plaats)) {
$message[] = "Alle velden zijn verplicht.";
}
// Controleer wachtwoord op sterkte
$wachtwoordFouten = valideerWachtwoord($wachtwoord);
if (!empty($wachtwoordFouten)) {
$message = array_merge($message, $wachtwoordFouten);
}
// Controleer of wachtwoord en bevestiging overeenkomen
if ($wachtwoord !== $bevestig_wachtwoord) {
$message[] = "Wachtwoorden komen niet overeen.";
}
if (empty($message)) {
// Controleer of e-mail of mobiel nummer al bestaat
$stmt = $mysqli->prepare("SELECT id FROM users WHERE email = ? OR mobielnummer = ?");
$stmt->bind_param("ss", $email, $mobiel);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$message[] = "E-mailadres of mobiel nummer is al geregistreerd.";
} else {
$stmt->close();
// Controleer of kapperszaak naam al bestaat
$stmt = $mysqli->prepare("SELECT id FROM business WHERE name = ?");
$stmt->bind_param("s", $kapperszaak);
$stmt->execute();
$stmt->store_result();
if ($stmt->num_rows > 0) {
$message[] = "Kapperszaak naam is al geregistreerd.";
} else {
$stmt->close();
// Genereer wachtwoord-hash
$passwordHash = password_hash($wachtwoord, PASSWORD_BCRYPT);
// Voeg kapperszaak toe aan de database
$volledig_adres = $straat . ", " . $postcode . ", " . $plaats;
$stmt = $mysqli->prepare("INSERT INTO business (name, address) VALUES (?, ?)");
$stmt->bind_param("ss", $kapperszaak, $volledig_adres);
$stmt->execute();
$businessId = $stmt->insert_id; // Haal ID op van de nieuwe kapperszaak
$stmt->close();
// Genereer verificatietoken en stel verificatiestatus in
$verification_token = bin2hex(random_bytes(16));
$verification_status = 0;
// Voeg gebruiker toe aan de database
$status = 'on hold';
$role = 'owner';
$stmt = $mysqli->prepare("INSERT INTO users (voornaam, achternaam, email, mobielnummer, password_hash, role, business_id, status, verification_status, verification_token) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->bind_param("ssssssisis", $voornaam, $achternaam, $email, $mobiel, $passwordHash, $role, $businessId, $status, $verification_status, $verification_token);
if ($stmt->execute()) {
// Verzend verificatiemail
$to = $email;
$subject = 'Bevestig uw e-mailadres';
$message = "Beste $voornaam,\n\nBedankt voor uw registratie. Klik alstublieft op de onderstaande link om uw e-mailadres te bevestigen:\n\n";
$message .= "https://salongrip.nl/verify.php?token=$verification_token\n\n";
$message .= "Met vriendelijke groet,\nSalongrip";
// Stel de headers in
$headers = 'From: [email protected]' . "\r\n" .
'Reply-To: [email protected]' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
// Verzend de e-mail
if (mail($to, $subject, $message, $headers)) {
$success = "Registratie succesvol! Controleer uw e-mail om uw registratie te bevestigen.";
} else {
$message[] = "Er is een fout opgetreden bij het verzenden van de verificatiemail.";
}
header("Location: wachtkamer.php");
exit();
} else {
$message[] = "Er is een fout opgetreden bij het registreren van de gebruiker.";
}
$stmt->close();
}
}
}
}
?>