-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathedit_profile.php
88 lines (54 loc) · 2.36 KB
/
edit_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
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
<?php
require_once '../config.php';
if(isset($_POST['edit'])){
$errors = array();
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$website = filter_input(INPUT_POST, 'website', FILTER_SANITIZE_URL);
$image = isset($_FILES['image']) ? $_FILES['image'] : '';
$user = $_SESSION['user'];
if(strlen($name)>50 || strlen($name)<6){
$errors['name_err'] = 'Name min limit is 6 & max is 50 characters';
}
if(strlen($username)>15 || strlen($username)<5){
$errors['username_err'] = 'Username min limit is 5 & max is 15 characters';
}
$reg_email = '/^[a-z0-9]+(\.|_)?[a-z0-9]+@[a-z0-9]+(.com|.net|.org|.me)$/i';
if(!preg_match($reg_email, $email)){
$errors['email_err'] = 'Enetered email is invalid';
}
if(empty($website)){
$errors['website_err'] = 'Invalid entry';
}
if($image['error']!=4){
if(!is_dir(APPROOT.'/images')){
mkdir(APPROOT.'/images');
}
if($image['error']==4){
$errors['image_err']='Please, upload file';
}elseif($image['type']!='image/png' && $image['type']!='image/jpeg'){
$errors['image_err']='Only, png/jpeg image is allowed';
}
$image_info = pathinfo($image['name']);
extract($image_info);
$image_convention = $filename . time() . ".$extension";
move_uploaded_file($image['tmp_name'], APPROOT . "/images/" . $image_convention);
}else{
$image_convention = $user->image;
}
if(!count($errors)){
$stmt = $objDB->prepare(
'UPDATE users SET name = ?, email = ?, username=?, website=?, image=? WHERE id=?'
);
$stmt->bind_param('sssssi', $name, $email, $username, $website, $image_convention, $user->id);
if($stmt->execute()){
setMsg('msg_notify', 'Your account has been updated successfully.');
}
$_SESSION['user'] = getUserById($user->id);
redirect('profile.php');
} else{
setMsg('errors', $errors);
redirect('edit_profile.php');
}
}