<?php
/**
 * traitement_inscription.php
 * Traite le formulaire d'inscription du site CPN Msaken
 */

require_once 'config.php'; // Fichier de connexion PDO

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    header('Location: index.html');
    exit();
}

try {
    // Récupération des données — noms identiques aux attributs name="" du formulaire HTML
    $prenom              = isset($_POST['prenom'])              ? trim($_POST['prenom'])              : '';
    $nom                 = isset($_POST['nom'])                 ? trim($_POST['nom'])                 : '';
    $email               = isset($_POST['email'])               ? trim($_POST['email'])               : '';
    $telephone           = isset($_POST['telephone'])           ? trim($_POST['telephone'])           : '';
    $date_naissance      = isset($_POST['date_naissance'])      ? trim($_POST['date_naissance'])      : null;
    $sexe                = isset($_POST['sexe'])                ? trim($_POST['sexe'])                : '';
    $adresse             = isset($_POST['adresse'])             ? trim($_POST['adresse'])             : '';
    $ville               = isset($_POST['ville'])               ? trim($_POST['ville'])               : '';
    $code_postale        = isset($_POST['code_postale'])        ? trim($_POST['code_postale'])        : '';
    $niveau_etudes       = isset($_POST['niveau_etudes'])       ? trim($_POST['niveau_etudes'])       : '';
    $formation_souhaitee = isset($_POST['formation_souhaitee']) ? trim($_POST['formation_souhaitee']) : '';
    $mode_formation      = isset($_POST['mode_formation'])      ? trim($_POST['mode_formation'])      : '';
    $message             = isset($_POST['message'])             ? trim($_POST['message'])             : '';
    $newsletter          = (isset($_POST['newsletter']) && $_POST['newsletter'] === 'oui') ? 'oui' : 'non';

    // Validation des champs obligatoires
    if (empty($prenom) || empty($nom) || empty($email) || empty($telephone)) {
        header('Location: inscription_error.html');
        exit();
    }

    if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
        header('Location: inscription_error.html');
        exit();
    }

    // Valeurs vides → NULL pour la BDD
    $date_naissance = !empty($date_naissance) ? $date_naissance : null;
    $code_postale   = !empty($code_postale)   ? $code_postale   : null;

    // Insertion en base de données
    $sql = "INSERT INTO inscription 
                (prenom, nom, email, telephone, date_naissance, sexe, adresse, ville, code_postale,
                 niveau_etudes, formation_souhaitee, mode_formation, message, newsletter, date_inscription, statut)
            VALUES 
                (:prenom, :nom, :email, :telephone, :date_naissance, :sexe, :adresse, :ville, :code_postale,
                 :niveau_etudes, :formation_souhaitee, :mode_formation, :message, :newsletter, NOW(), 'en_attente')";

    $stmt = $pdo->prepare($sql);
    $stmt->execute([
        ':prenom'              => $prenom,
        ':nom'                 => $nom,
        ':email'               => $email,
        ':telephone'           => $telephone,
        ':date_naissance'      => $date_naissance,
        ':sexe'                => $sexe,
        ':adresse'             => $adresse,
        ':ville'               => $ville,
        ':code_postale'        => $code_postale,
        ':niveau_etudes'       => $niveau_etudes,
        ':formation_souhaitee' => $formation_souhaitee,
        ':mode_formation'      => $mode_formation,
        ':message'             => $message,
        ':newsletter'          => $newsletter,
    ]);

    header('Location: inscription_confirmation.html');
    exit();

} catch (PDOException $e) {
    error_log('Erreur inscription PDO: ' . $e->getMessage());
    header('Location: inscription_error.html');
    exit();
} catch (Exception $e) {
    error_log('Erreur inscription: ' . $e->getMessage());
    header('Location: inscription_error.html');
    exit();
}