Update file compte.php

This commit is contained in:
Jan BELLON 2024-03-12 12:24:35 +00:00
parent 5bfdc913a0
commit eaeb04b7b5

View File

@ -2,52 +2,6 @@
require "../include/variables.php";
require "../include/functions.php";
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
$req = $bdd->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_pp_url = $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'])) {
$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'], PDO::PARAM_INT);
$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 = :user_name, display_name = :user_display_name, bio = :user_bio 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_id", $_SESSION['userid']);
if($req->execute()) {
$status = "Informations mises à jour";
$_SESSION['username'] = htmlspecialchars($_POST['user_name']);
$_SESSION['display_name'] = htmlspecialchars($_POST['user_display_name']);
} else {
$status = "Erreur, les informations n'ont pas pu être mises à jour.";
}
}
}
if (isset($_FILES['profile_picture']) && $_FILES['profile_picture']['error'] == 0) {
// Chemins et noms de fichiers
$tempPath = $_FILES['profile_picture']['tmp_name'];
@ -131,6 +85,52 @@ if (isset($_FILES['banner']) && $_FILES['banner']['error'] == 0) {
}
}
$bdd = connect($dbhost, $dbname, $dbuser, $dbpass);
$req = $bdd->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_pp_url = $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'])) {
$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'], PDO::PARAM_INT);
$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 = :user_name, display_name = :user_display_name, bio = :user_bio 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_id", $_SESSION['userid']);
if($req->execute()) {
$status = "Informations mises à jour";
$_SESSION['username'] = htmlspecialchars($_POST['user_name']);
$_SESSION['display_name'] = htmlspecialchars($_POST['user_display_name']);
} else {
$status = "Erreur, les informations n'ont pas pu être mises à jour.";
}
}
}
?>
<!DOCTYPE html>
<html lang="fr">