-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprofil.php
More file actions
101 lines (97 loc) · 4.67 KB
/
profil.php
File metadata and controls
101 lines (97 loc) · 4.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
require_once 'database/function.php';
require_once 'components/header.php';
//page profil moderne bien stylise avec bootstrap pour afficher les informations de l'utilisateur(Nom, Prenom,Email,role,Adresse et numero) connecté avec son photo de profil
// Gestion de l'upload de la photo de profil
if (isset($_FILES['photo']) && $_FILES['photo']['error'] === UPLOAD_ERR_OK) {
$uploadsDir = 'images/';
$fileTmpPath = $_FILES['photo']['tmp_name'];
$fileName = basename($_FILES['photo']['name']);
$fileExtension = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
if (in_array($fileExtension, $allowedExtensions)) {
$newFileName = 'profil_' . $_SESSION['user']['id'] . '_' . time() . '.' . $fileExtension;
$destPath = $uploadsDir . $newFileName;
if (move_uploaded_file($fileTmpPath, $destPath)) {
// Mettre à jour la base de données
$pdo = $GLOBALS['pdo'];
$stmt = $pdo->prepare("UPDATE utilisateurs SET photo = ? WHERE id = ?");
$stmt->execute([$newFileName, $_SESSION['user']['id']]);
// Mettre à jour la session
$_SESSION['user']['photo'] = $newFileName;
$success = 'Photo de profil mise à jour !';
} else {
$error = "Erreur lors de l'enregistrement du fichier.";
}
} else {
$error = "Format de fichier non autorisé.";
}
}
?>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<style>
.profile-card {
box-shadow: 0 4px 20px rgba(0,0,0,0.08);
border-radius: 32px; /* Arrondi plus prononcé du cadre */
overflow: hidden;
margin-bottom: 24px;
}
.profile-card .card-img-top {
width: 100%;
height: 250px;
object-fit: cover;
background: #f8f9fa;
border-top-left-radius: 32px; /* Arrondi en haut du cadre image */
border-top-right-radius: 32px;
}
.profile-card .card-title {
font-size: 1.5rem;
font-weight: 600;
}
.profile-info strong {
min-width: 120px;
display: inline-block;
}
.card-header {
background: #0d6efd;
color: #fff;
font-weight: 500;
font-size: 1.2rem;
}
</style>
<div class="container" style="margin-top: 40px;">
<?php if (!empty($success)): ?>
<div class="alert alert-success text-center"><?php echo $success; ?></div>
<?php elseif (!empty($error)): ?>
<div class="alert alert-danger text-center"><?php echo $error; ?></div>
<?php endif; ?>
<div class="row justify-content-center">
<div class="col-md-5">
<div class="card profile-card mx-auto" style="margin-top: 0;">
<img src="<?php echo isset($_SESSION['user']['photo']) && !empty($_SESSION['user']['photo']) ? 'images/' . $_SESSION['user']['photo'] : 'images/default-profile.png'; ?>" class="card-img-top" alt="Photo de profil">
<div class="card-body text-center">
<h5 class="card-title"><?php echo (isset($_SESSION['user']['nom']) ? $_SESSION['user']['nom'] : '') . ' ' . (isset($_SESSION['user']['prenom']) ? $_SESSION['user']['prenom'] : ''); ?></h5>
<div class="profile-info text-start mt-3">
<p><strong>Email:</strong> <?php echo isset($_SESSION['user']['email']) ? $_SESSION['user']['email'] : ''; ?></p>
<p><strong>Role:</strong> <?php echo isset($_SESSION['user']['role']) ? $_SESSION['user']['role'] : ''; ?></p>
<p><strong>Adresse:</strong> <?php echo isset($_SESSION['user']['adresse']) ? $_SESSION['user']['adresse'] : ''; ?></p>
<p><strong>Numéro:</strong> <?php echo isset($_SESSION['user']['telephone']) ? $_SESSION['user']['telephone'] : ''; ?></p>
</div>
<form method="post" enctype="multipart/form-data" class="mt-3">
<div class="mb-2">
<input type="file" name="photo" accept="image/*" class="form-control">
</div>
<div class="d-flex justify-content-center gap-2">
<button type="submit" class="btn btn-primary btn-sm">Changer la photo</button>
<a href="changerMotDePasse.php" class="btn btn-secondary btn-sm">Changer le mot de passe</a>
<a href="deconnexion.php" class="btn btn-danger btn-sm">Déconnexion</a>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<?php
require_once 'components/footer.php';
?>