Files
2025-06-14 19:08:52 +02:00

74 lines
2.7 KiB
PHP

<?php
// actionModif.php
if (!isset($_SESSION['pseudo'])) {
header("Location: login.php");
exit;
}
$pseudo = $_SESSION['pseudo'];
$message = '';
// D'ABORD récupérer les infos utilisateur (OBLIGATOIRE)
$stmt = $mysqli->prepare("SELECT id, nom, prenom, age, email, datecreation FROM utilisateur WHERE pseudo = ?");
$stmt->bind_param("s", $pseudo);
$stmt->execute();
$stmt->bind_result($id, $nom, $prenom, $age, $email, $date);
$stmt->fetch();
$stmt->close();
// ENSUITE traitement du formulaire de modification
if ($_POST) {
$nouveau_nom = $_POST['nom'];
$nouveau_prenom = $_POST['prenom'];
$nouvel_email = $_POST['email'];
$nouvel_age = $_POST['age'];
// Vérification des mots de passe
$mdp_valide = true;
if (!empty($_POST['nouveau_mdp'])) {
if (empty($_POST['confirmer_mdp'])) {
$message = "Veuillez confirmer le nouveau mot de passe.";
$mdp_valide = false;
} elseif ($_POST['nouveau_mdp'] !== $_POST['confirmer_mdp']) {
$message = "Les mots de passe ne correspondent pas.";
$mdp_valide = false;
} elseif (strlen($_POST['nouveau_mdp']) < 6) { // rr
$message = "Le mot de passe doit contenir au moins 6 caractères.";
$mdp_valide = false;
}
}
if ($mdp_valide) {
// Si un nouveau mot de passe est fourni
if (!empty($_POST['nouveau_mdp'])) {
$nouveau_mdp = password_hash($_POST['nouveau_mdp'], PASSWORD_DEFAULT);
$stmt = $mysqli->prepare("UPDATE utilisateur SET nom = ?, prenom = ?, email = ?, age = ?, motdepasse = ? WHERE id = ?");
$stmt->bind_param("sssisi", $nouveau_nom, $nouveau_prenom, $nouvel_email, $nouvel_age, $nouveau_mdp, $id);
} else {
$stmt = $mysqli->prepare("UPDATE utilisateur SET nom = ?, prenom = ?, email = ?, age = ? WHERE id = ?");
$stmt->bind_param("sssii", $nouveau_nom, $nouveau_prenom, $nouvel_email, $nouvel_age, $id);
}
if ($stmt->execute()) {
$message = "Informations mises à jour avec succès !";
// Actualiser les variables pour l'affichage
$nom = $nouveau_nom;
$prenom = $nouveau_prenom;
$email = $nouvel_email;
$age = $nouvel_age;
} else {
$message = "Erreur lors de la mise à jour: " . $mysqli->error;
}
$stmt->close();
}
}
// Compter les événements
$stmt = $mysqli->prepare("SELECT COUNT(*) FROM inscription WHERE id_utilisateur = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$stmt->bind_result($nombre_evenements);
$stmt->fetch();
$stmt->close();
?>