-
Notifications
You must be signed in to change notification settings - Fork 0
/
modify_profile.php
57 lines (46 loc) · 1.51 KB
/
modify_profile.php
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
<?php
session_start();
include('filters/user_filter.php');
require 'config/dbconnect.php';
require 'includes/functions.php';
require 'includes/constants.php';
require 'initialization/locale.php';
if(!empty($_GET['id'])) {
//Dans le cas où l'utilisateur existe, on va récupérer les infos sur lui en BDD en utilisant son id
$user = find_user_by_id($_GET['id']);
if (!$user) {
redirect('index.php');
}
} else {
redirect('modify_profile.php?id='.get_session('user_id')); //Sinon, on le redirige avec le bon id
}
//Si le formulaire de connexion a été soumis
if(isset($_POST['update'])) {
$errors = [];
//Si tous les champs sont remplis
if(not_empty(['firstname', 'lastname'])) {
extract($_POST);
$q = $db->prepare('UPDATE users
SET firstname = :firstname, lastname = :lastname, sex = :sex, city = :city, country = :country, github = :github, employment_status = :employment_status, description = :description
WHERE id = :id');
$q->execute([
'firstname' => $firstname,
'lastname' => $lastname,
'sex' => $sex,
'city' => $city,
'country' => $country,
'github' => $github,
'employment_status' => !empty($employment_status) ? '1' : '0',
'description' => $description,
'id' =>get_session('user_id'),
]);
set_flash("Votre profil a été mis à jour.");
redirect('profile.php?id='.get_session('user_id'));
} else {
save_input_data();
$errors[] = "Veuillez remplir tous les champs obligatoires (*)";
}
} else {
clear_input_data();
}
require 'views/modify_profile.view.php';