prepare("SELECT ID, username, creation_date, display_name, role, profile_picture, banner, bio FROM users WHERE ID = :user_id"); $req->bindParam(":user_id", $_SESSION['userid']); $req->execute(); $resultat = $req->fetchAll(PDO::FETCH_ASSOC); if($resultat) { $user_id = $resultat[0]['ID']; $user_name = $resultat[0]['username']; $user_creation_date = $resultat[0]['creation_date']; $user_display_name = $resultat[0]['display_name']; $user_role = $resultat[0]['role']; $user_pp = $resultat[0]['profile_picture'] == NULL ? "https://abs.twimg.com/sticky/default_profile_images/default_profile_400x400.png" : $resultat[0]['profile_picture']; $user_banner = $resultat[0]['banner'] = NULL ? "./src/img/empty.jpg" : $resultat[0]['banner']; $user_bio = $resultat[0]['bio']; } else { die("Erreur, utilisateur introuvable"); } if(isset($_POST['user_display_name']) && isset($_POST['user_name']) && isset($_POST['user_bio']) && isset($_POST['user_pp']) && isset($_POST['user_banner'])) { $bdd = connect($dbhost, $dbname, $dbuser, $dbpass); $req = $bdd->prepare("SELECT ID FROM users WHERE username = :user_name AND NOT ID = :user_id"); $req->bindParam(":user_name", htmlspecialchars($_POST['user_name'])); $req->bindParam(":user_id", $_SESSION['userid']); $req->execute(); $resultat = $req->fetchAll(PDO::FETCH_ASSOC); if($resultat) { $status = "Erreur, le nom d'utilisateur existe déjà."; } else { $bdd = connect($dbhost, $dbname, $dbuser, $dbpass); $req = $bdd->prepare("UPDATE users SET (username, display_name, bio, profile_picture, banner) VALUES (:user_name, :user_display_name, :user_bio, :user_pp, :user_banner) WHERE ID = :user_id"); $req->bindParam(":user_name", htmlspecialchars($_POST['user_name'])); $req->bindParam(":user_display_name", htmlspecialchars($_POST['user_display_name'])); $req->bindParam(":user_bio", htmlspecialchars($_POST['user_bio'])); $req->bindParam(":user_pp", htmlspecialchars($_POST['user_pp'])); $req->bindParam(":user_banner", htmlspecialchars($_POST['user_banner'])); $req->bindParam(":user_id", $_SESSION['userid']); if($req->execute()) { $status = "Informations mises à jour"; } else { $status = "Erreur, les informations n'ont pas pu être mises à jour."; } } } ?>