Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/277: Рейтинг темы: голосов - 277, средняя оценка - 4.81
1 / 1 / 1
Регистрация: 04.11.2011
Сообщений: 180

Личный кабинет

19.02.2012, 18:35. Показов 52201. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как сделать пользователю личный кабинет, если систему авторизации уже написал?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2012, 18:35
Ответы с готовыми решениями:

Личный кабинет
Вообщем давно пишу личные кабинеты пхп мускуль связка Меня посетил вопрос как его защитить от того чтобы он не пошел по рукам чтобы у...

Личный кабинет - сообщения
Доброго времени суток уважаемые форумчане :) Проблема такая: в личном кабинете при входе на страницу другого пользователя, есть форма для...

Личный кабинет php mysql
Как вытащить значения для вывода личного кабинета, один логин вышел, а как быть с остальными не понимаю!!!Помогите, пожалуйста!!! ...

16
 Аватар для skaynet
19 / 19 / 2
Регистрация: 25.01.2012
Сообщений: 180
19.02.2012, 19:22
Лучший ответ Сообщение было отмечено как решение

Решение

Цитата Сообщение от Artur Black Посмотреть сообщение
Подскажите как сделать пользователю личный кабинет, если систему авторизации уже написал?
db.php

PHP
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
 
mysql_connect ("********","******","*******");
mysql_select_db ("*******");
mysql_query("SET NAMES utf8");
 
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$id_user = $_SESSION['id'];
?>
Добавлено через 2 минуты
edit.php
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<?php 
include_once("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Настройки пользователя</title>
</head>
<body>
<div align="center"><h4>Настройки пользователя</h4></div>
 
<table width="600" border="0">
  <tr>
    <td> Изменить аватар </td>
    <td>
        <form action='save_edit.php' method='post' enctype='multipart/form-data'>
        <input type="file" name="fupload" size='8'>
        <input type='submit' name='submit' value='Изменить'>
        </form>
    </td>
  </tr>
  <tr>
    <td> Изменить имя </td>
    <td>
        <form action='save_edit.php' method='post'>
        <input name='name' type='text'>
        <input type='submit' name='submit' value='Изменить'>
        </form>
    </td>
  </tr>
  <tr>
    <td> Изменить фамилию </td>
    <td>
        <form action='save_edit.php' method='post'>
        <input name='lastname' type='text'>
        <input type='submit' name='submit' value='Изменить'>
        </form>
    </td>
  </tr>
  <tr>
    <td> Изменить страну </td>
    <td>
        <form action="save_edit.php" method="post">
        <input name="country" type="text">
        <input type="submit" name="submit" value="Изменить">
        </form>    
    </td>
  </tr>
  <tr>
    <td> Изменить город </td>
    <td>
        <form action='save_edit.php' method='post'>
        <input name='city' type='text'>
        <input type='submit' name='submit' value='Изменить'>
        </form>
    </td>
  </tr>
  <tr>
    <td> Изменить дату Рождения </td>
    <td>
    <form action='save_edit.php' method='post'>
        <select name="birthdate_day" size="1" class="day" id="day">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
        <option value="9">9</option>
        <option value="10">10</option>
        <option value="11">11</option>
        <option value="12">12</option>
        <option value="13">13</option>
        <option value="14">14</option>
        <option value="15">15</option>
        <option value="16">16</option>
        <option value="17">17</option>
        <option value="18">18</option>
        <option value="19">19</option>
        <option value="20">20</option>
        <option value="21">21</option>
        <option value="22">22</option>
        <option value="23">23</option>
        <option value="24">24</option>
        <option value="25">25</option>
        <option value="26">26</option>
        <option value="27">27</option>
        <option value="28">28</option>
        <option value="29">29</option>
        <option value="30">30</option>
        <option value="31">31</option>
    </select>   
 
    <select name="birthdate_month" size="1" class="month" id="month">
        <option value="1">Январь</option>
        <option value="2">Февраль</option>
        <option value="3">Март</option>
        <option value="4">Апрель</option>
        <option value="5">Май</option>
        <option value="6">Июнь</option>
        <option value="7">Июль</option>
        <option value="8">Август</option>
        <option value="9">Сентябрь</option>
        <option value="10">Октябрь</option>
        <option value="11">Ноябрь</option>
        <option value="12">Декабрь</option>
    </select>           
 
    <select name="birthdate_year" size="1" class="year" id="year">
        <option value="1986">1986</option>
        <option value="1987">1987</option>
        <option value="1988">1988</option>
        <option value="1989">1989</option>
        <option value="1990">1990</option>
        <option value="1991">1991</option>
        <option value="1992">1992</option>
        <option value="1993">1993</option>
        <option value="1994">1994</option>
        <option value="1995">1995</option>
        <option value="1996">1996</option>
        <option value="1997">1997</option>
        <option value="1998">1998</option>
        <option value="1999">1999</option>
        <option value="2000">2000</option>
        <option value="2001">2001</option>
        <option value="2002">2002</option>
        <option value="2003">2003</option>
        <option value="2004">2004</option>
        <option value="2005">2005</option>
        <option value="2006">2006</option>
        <option value="2007">2007</option>
        <option value="2008">2008</option>
        <option value="2009">2009</option>
        <option value="2010">2010</option>
    </select>
    
    <input type='submit' name='submit' value='Изменить'>
    </form>
    </td>
  </tr>
  <tr>
    <td> Изменить пол </td>
    <td>
    <form action='save_edit.php' method='post'>
        <select name="sex" size="1" id="sex">
        <option value="Мужской">Мужской</option>
        <option value="Женский">Женский</option>
        </select>
        <input type='submit' name='submit' value='Изменить'>
       </form>
    </td>
  </tr>
</table>
</body>
</html>
exit.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php include_once("bd.php"); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>БЕСПЛАТНЫЕ уроки для веб програмиста</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
</head>
<body>
    
<?php
if (empty($_SESSION['login']) or empty($_SESSION['password'])) {
    exit ("Доступ на эту страницу разрешен только зарегистрированным пользователям. Если вы зарегистрированы, то войдите на сайт под своим логином и паролем<br><a href='index.php'>Главная страница</a>");
}
 
unset($_SESSION['password']);
unset($_SESSION['login']); 
unset($_SESSION['id']);// уничтожаем переменные в сессиях
 
exit("<meta http-equiv='Refresh' content='0; URL=index.php'>");
?>
 
</body>
</html>
index.php
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
<?php include_once("bd.php"); ?>    
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Вход</title>
        <style type="text/css">
        INPUT {
        background: silver; /* Цвет фона */
        }
        </style>
    </head>
<body>
 
<?php
if(empty($login) and empty($password)){
print <<<HERE
<table>
Вход:
<br>
<br>
 
      <form action="login.php" method="POST">
      <tr>
      <td>Логин:</td>
      <td><input type="text" name="login" ></td>
      </tr>
      
      <tr>
      <td>Пароль:</td>
      <td><input type="password" name="password" ></td>
      </tr>
      
      <tr>
      <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
      </tr>
      </form>
      </table>
<a href="registration.php">Регистрация</a>
HERE;
}
else{
echo "Привет, <strong>".$login."</strong> | <a href='exit.php'>Выход</a><br>Контент для зарегистрированных пользователей";
}
?>
</body>
</html>
login.php
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
<?php
include_once("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>БЕСПЛАТНЫЕ уроки для веб програмиста</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
 
<?php
if (isset($_POST['login'])) {
    $login = $_POST['login']; 
    if ($login == '') {
        unset($login);
        exit ("Введите пожалуйста логин!");
    } 
}
if (isset($_POST['password'])) {
    $password=$_POST['password']; 
    if ($password =='') {
        unset($password);
        exit ("Введите пароль");
    }
}
 
$login = stripslashes($login);
$login = htmlspecialchars($login);
 
$password = stripslashes($password);
$password = htmlspecialchars($password);
 
 
$login = trim($login);
$password = trim($password);
 
$password = md5($password);//шифруем пароль
 
$user = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password'");
$id_user = mysql_fetch_array($user);
if (empty($id_user['id'])){
    exit ("Извините, введённый вами логин или пароль неверный.");
}
else {
 
   
    $_SESSION['password']=$password; 
    $_SESSION['login']=$login; 
    $_SESSION['id']=$id_user['id'];
          
}
echo "<meta http-equiv='Refresh' content='0; URL=index.php'>";
?>
</body>
</html>
Добавлено через 2 минуты
db.sql

SQL
1
2
3
4
5
6
7
8
9
10
CREATE TABLE  `users` (
 `id` INT NOT NULL AUTO_INCREMENT ,
 `login` VARCHAR( 20 ) NOT NULL ,
 `password` VARCHAR( 35 ) NOT NULL ,
 `email` VARCHAR( 50 ) NOT NULL ,
 `reg_date` VARCHAR( 32 ) NOT NULL ,
 `name_user` VARCHAR( 32 ) NOT NULL ,
 `lastname` VARCHAR( 32 ) NOT NULL ,
PRIMARY KEY (  `id` )
);
profile.php

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
<?php
include_once("bd.php");
 
$resultat = mysql_query("SELECT * FROM users WHERE id='$_GET[id]'");
$array = mysql_fetch_array($resultat);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Профиль <?php echo $login; ?></title>
</head>
<body>
<h4>Профиль <?php echo $array['login']; ?></h4>
 
 
<?php
if(isset($login) AND isset($password)){
    if($array['avatar'] == ''){
        $avatar = "noAvatar.jpg";
    }else{
        $avatar = $array['avatar'];
    }
 
    echo "<img src='avatars/".$avatar."'> <br><br>";
    echo "<strong>".$array['name_user']." ".$array['lastname']."</strong><br>";
 
    switch ($array['birthdate_month']){//Превращаем номер месяца в название
        case "1" : $month = "Января"; break;
        case "2" : $month = "Февраля"; break;
        case "3" : $month = "Марта"; break;
        case "4" : $month = "Апреля"; break;
        case "5" : $month = "Мая"; break;
        case "6" : $month = "Июня"; break;
        case "7" : $month = "Июля"; break;
        case "8" : $month = "Августа"; break;
        case "9" : $month = "Сентября"; break;
        case "10" : $month = "Октября"; break;
        case "11" : $month = "Ноября"; break;
        case "12" : $month = "Декабря"; break;
    }
 
    echo "Дата регистрации: ".$array['reg_date']." <br>";
    echo "Пол: ".$array['sex']." <br>";
    echo "День рождения: ".$array['birthdate_day']." ".$month." ".$array['birthdate_year']." <br>";
    echo "Страна: ".$array['country']." <br>";
    echo "Город: ".$array['city']." <br>";
 
    if($_GET['id'] == $id_user){//Редактировать профиль может только хозяин
        echo "<a href='edit.php'>Редактировать профиль</a>";
    }
}else{
print <<<HERE
<table>
Вход:
<br>
<br>
 
      <form action="login.php" method="POST">
      <tr>
      <td>Логин:</td>
      <td><input type="text" name="login" ></td>
      </tr>
      
      <tr>
      <td>Пароль:</td>
      <td><input type="password" name="password" ></td>
      </tr>
      
      <tr>
      <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
      </tr>
      </form>
      </table>
<a href="registration.php">Регистрация</a><a href="password.php">Восстановление пароля</a>
HERE;
}
 
?>
 
</body>
</html>
registration.php

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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Регистрация</title>
  <style type="text/css">
   INPUT {
    background: silver; margin:0px; padding:1px; /* Цвет фона */
   }
  </style>
  </head>
  <body>
<table>
 
      <form action="verification.php" method="POST">
      <tr>
      <td>Логин<font color="red">*</font>:</td>
      <td><input type="text" size="20" name="login" ></td>
      </tr>
      <tr>
      <td>Пароль<font color="red">*</font>:</td>
      <td><input type="password" size="20" maxlength="20" name="password" ></td>
      </tr>
      <tr>
      <td>Подтверждения пароля<font color="red">*</font>:</td>
      <td><input type="password" size="20" maxlength="20" name="password2"></td>
      </tr>
      <tr>
      <td>E-mail<font color="red">*</font>:</td>
      <td><input type="text" size="20" name="email"></td>
      </tr>
       <tr>
      <td>Имя:</td>
      <td><input type="text" size="20" name="name"></td>
      </tr>
      <tr>
      <td>Фамилия:</td>
      <td><input type="text" size="20" name="lastname"></td>
      </tr>
      <tr>
       <td></td>
      <td colspan="2"><input type="submit" value="Зарегистроваться..." name="submit" ></td>
      </tr>
     <br>
      </form>
      </table>
<font face="Verdana" size="4">Поля со значком <font color="red">*</font> должны быть обязательно заполнены!</font> 
<br><a href='index.php'>На главную</a>
 </body>
 </html>
Добавлено через 3 минуты
save_edit.php
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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<?php 
include_once("bd.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Изменение данных <?php echo $login; ?></title>
</head>
<body>
<?php
 
////////Изменение аватары
 
if (isset($_FILES['fupload']['name'])){ //отправлялась ли переменная
 
    if (empty($_FILES['fupload']['name']) AND $_FILES['fupload']['name'] == ''){
        
        $noAvatar = "noAvatar.jpg";//изображение если пользователь не загрузил свое
        $result = mysql_query("SELECT avatar FROM users WHERE id='$id_user'");//извлекаем текущий аватар
        $avatarka = mysql_fetch_array($result);
        
        if ($avatarka['avatar'] != $noAvatar) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
            unlink ('avatars/'.$avatarka['avatar']);
        }   
        
    }
 
    else{
        //иначе - загружаем изображение пользователя для обновления
        $path_to_90_directory = 'avatars/';//папка, куда будет загружаться начальная картинка и ее сжатая копия
            
        if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)|(gif)|(GIF)|(png)|(PNG)$/',$_FILES['fupload']['name']))//проверка формата исходного изображения
             {  
                    
                $filename = $_FILES['fupload']['name'];
                $source = $_FILES['fupload']['tmp_name'];   
                $target = $path_to_90_directory . $filename;
                move_uploaded_file($source, $target);//загрузка оригинала в папку $path_to_90_directory
 
            if(preg_match('/[.](GIF)|(gif)$/', $filename)) {
            $im = imagecreatefromgif($path_to_90_directory.$filename) ; //если оригинал был в формате gif
            }
            if(preg_match('/[.](PNG)|(png)$/', $filename)) {
            $im = imagecreatefrompng($path_to_90_directory.$filename) ;//если оригинал был в формате png
            }
            
            if(preg_match('/[.](JPG)|(jpg)|(jpeg)|(JPEG)$/', $filename)) {
                $im = imagecreatefromjpeg($path_to_90_directory.$filename); //если оригинал был в формате jpg
            }
            
        //СОЗДАНИЕ КВАДРАТНОГО ИЗОБРАЖЕНИЯ И ЕГО ПОСЛЕДУЮЩЕЕ СЖАТИЕ ВЗЯТО С САЙТА www.codenet.ru
        
        
        
        
        
        $w = 120;  // ширина изображения
        
        $quality = 100; //Качество создаваемого изображения max 100
                
        $w_src = imagesx($im); //вычисляем ширину
        $h_src = imagesy($im); //вычисляем высоту изображения
        
        //Создавать квадратное изображение $rezim = 1
        //Создать изображение пропорционально оригиналу $rezim = 2
        
        $rezim = 1;     
        
        switch ($rezim){
                //**************************** 1
            case "1" : 
                
                 // создаём пустую квадратную картинку 
                 // важно именно truecolor!, иначе будем иметь 8-битный результат 
                 $dest = imagecreatetruecolor($w,$w); 
 
                 // вырезаем квадратную серединку по x, если фото горизонтальное 
                 
                if ($w_src > $h_src){ 
                    imagecopyresampled($dest, $im, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));
                }
                 // вырезаем квадратную верхушку по y, 
                if ($w_src < $h_src){
                    imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src)); 
                }
                 // квадратная картинка масштабируется без вырезок 
                
                if ($w_src == $h_src){
                    imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $w, $w_src, $h_src); 
                }
 
            break;
                    //***************************** 2
            case "2" : 
                $prop = $w_src/$h_src;
                $h = $w/$prop;
                $dest = imagecreatetruecolor($w,$h); 
                imagecopyresampled($dest, $im, 0, 0, 0, 0, $w, $h, $w_src, $h_src); 
            break;
            
        }
        
        
        
 
                
        $random = rand(1000000, 9999999);
        imagejpeg($dest, $path_to_90_directory.$random.".jpg", $quality);//сохраняем изображение формата jpg в нужную папку
        
        $avatar = $random.".jpg";//заносим в переменную путь до аватара.
 
        $delfull = $path_to_90_directory.$filename; 
        unlink ($delfull);//удаляем оригинал загруженного изображения, он нам больше не нужен.
 
        $result = mysql_query("SELECT avatar FROM users WHERE id='$id_user'");//извлекаем текущий аватар пользователя
        $avatarka = mysql_fetch_array($result);
        
        if ($avatarka['avatar'] != $noAvatar) {//если аватар был стандартный, то не удаляем его, ведь у на одна картинка на всех.
            unlink ('avatars/'.$avatarka['avatar']);
        }
        }
        else{
            //в случае несоответствия формата, выдаем соответствующее сообщение
            exit ("Аватар должен быть в формате <strong>JPG,GIF или PNG</strong>");
        }
        
    }
    
 
    $up = mysql_query("UPDATE users SET avatar='$avatar' WHERE id='$id_user'");//обновляем аватар в базе
    if ($up == true) {//если верно, то отправляем на личную страничку
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
 
}
 
////////Изменение имени
 
else if (isset($_POST['name'])){//Если существует имя
    $name = $_POST['name'];
    $name = stripslashes($name);
    $name = htmlspecialchars($name);
    $name = trim($name);//удаляем все лишнее
    
    if ($name == '') {
        exit("Вы не ввели имя<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET name_user='$name' WHERE id='$id_user'");//обновляем имя
    if ($up == true) {
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
 
////////Изменение фамилии
 
else if (isset($_POST['lastname'])){//Если существует фамилия
    $lastname = $_POST['lastname'];
    $lastname = stripslashes($lastname);
    $lastname = htmlspecialchars($lastname);
    $lastname = trim($lastname);//удаляем все лишнее
    
    if ($lastname == '') {
        exit("Вы не ввели фамилию<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET lastname='$lastname' WHERE id='$id_user'");//обновляем фамилию
    if ($up=='TRUE') {//если верно, то обновляем его в сессии
        $_SESSION['lastname'] = $lastname;
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
 
////////Изменение страны
 
else if (isset($_POST['country'])){//Если существует фамилия
    $country = $_POST['country'];
    $country = stripslashes($country);
    $country = htmlspecialchars($country);
    $country = trim($country);//удаляем все лишнее
    
    if ($country == '') {
        exit("Вы не ввели страну<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET country='$country' WHERE id='$id_user'");//обновляем страну
    if ($up == true) {
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
 
////////Изменение города
 
else if (isset($_POST['city'])){//Если существует фамилия
    $city = $_POST['city'];
    $city = stripslashes($city);
    $city = htmlspecialchars($city);
    $city = trim($city);//удаляем все лишнее
    
    if ($city == '') {
        exit("Вы не ввели город<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET city='$city' WHERE id='$id_user'");//обновляем город
    if ($up == true) {//если верно, то обновляем его в сессии
        $_SESSION['city'] = $city;
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
 
////////Изменение числа, месяца и года
 
else if (isset($_POST['birthdate_day']) AND isset($_POST['birthdate_month']) AND isset($_POST['birthdate_year'])){//Если существует день рождения
    $birthdate_day = $_POST['birthdate_day'];
    $birthdate_day = stripslashes($birthdate_day);
    $birthdate_day = htmlspecialchars($birthdate_day);
    $birthdate_day = trim($birthdate_day);//удаляем все лишнее
    
    if ($birthdate_day == '' OR $birthdate_day > 31) {
        exit("Вы не ввели день рождения<br><a href='edit.php'>Вернуться назад</a>");
    }
    
    $birthdate_month = $_POST['birthdate_month'];
    $birthdate_month = stripslashes($birthdate_month);
    $birthdate_month = htmlspecialchars($birthdate_month);
    $birthdate_month = trim($birthdate_month);//удаляем все лишнее
    
    if ($birthdate_month == '' OR $birthdate_month > 12) {
        exit("Вы не ввели месяц рождения<br><a href='edit.php'>Вернуться назад</a>");
    }
    
    $birthdate_year = $_POST['birthdate_year'];
    $birthdate_year = stripslashes($birthdate_year);
    $birthdate_year = htmlspecialchars($birthdate_year);
    $birthdate_year = trim($birthdate_year);//удаляем все лишнее
    
    if ($birthdate_year == '' OR $birthdate_year < 1940 OR $birthdate_year > 2005) {
        exit("Вы не ввели год рождения<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET birthdate_day='$birthdate_day',birthdate_month='$birthdate_month',birthdate_year='$birthdate_year' WHERE id='$id_user'");//обновляем день
    if ($up == true) {
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
 
 
 
////////Изменение пола
 
else if (isset($_POST['sex'])){//Если существует фамилия
    $sex = $_POST['sex'];
    $sex = stripslashes($sex);
    $sex = htmlspecialchars($sex);
    $sex = trim($sex);//удаляем все лишнее
    
    if ($sex == '') {
        exit("Вы не ввели пол<br><a href='edit.php'>Вернуться назад</a>");
    }
 
    $up = mysql_query("UPDATE users SET sex='$sex' WHERE id='$id_user'");//обновляем пол
    if ($up == true) {
        echo "<meta http-equiv='Refresh' content='0; URL=profile.php?id=".$id_user."'>";
    }
}
?>
</body>
</html>
USER.PHP

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
<?php
// вся процедура работает на сессиях. Именно в ней хранятся данные пользователя, пока он находится на сайте. Очень важно запустить их в самом начале странички!!!
session_start();
 
include ("bd.php");// файл bd.php должен быть в той же папке, что и все остальные, если это не так, то просто измените путь 
 
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
//если существует логин и пароль в сессиях, то проверяем, действительны ли они
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$result2 = mysql_query("SELECT id FROM users WHERE login='$login' AND password='$password' AND activation='1'",$db); 
$myrow2 = mysql_fetch_array($result2); 
if (empty($myrow2['id']))
   {
   //если данные пользователя не верны
    exit("Вход на эту страницу разрешен только зарегистрированным пользователям!");
   }
}
else {
//Проверяем, зарегистрирован ли вошедший
exit("Вход на эту страницу разрешен только зарегистрированным пользователям!"); }
?>
<html>
<head>
<title>Список пользователей</title>
</head>
<body>
<h2>Список пользователей</h2>
 
 
<?php
if(isset($login) AND isset($password)){
    $resultat = mysql_query("SELECT * FROM users");
    $array = mysql_fetch_array($resultat);
    
    do{
    if($array['avatar'] == ''){
        $avatar = "noAvatar.jpg";
    }else{
        $avatar = $array['avatar'];
    }
    printf("$array[login]<br><a href='page.php?id=$array[id]'><img src='".$avatar."'></a><br><br>");
 
    }
    while($array = mysql_fetch_array($resultat));
    
}else{
print <<<HERE
<table>
Вход:
<br>
<br>
 
      <form action="login.php" method="POST">
      <tr>
      <td>Логин:</td>
      <td><input type="text" name="login" ></td>
      </tr>
      
      <tr>
      <td>Пароль:</td>
      <td><input type="password" name="password" ></td>
      </tr>
      
      <tr>
      <td colspan="2"><input type="submit" value="OK" name="submit" ></td>
      </tr>
      </form>
      </table>
<a href="registration.php">Регистрация</a><a href="password.php">Восстановление пароля</a>
HERE;
}
 
?>
 
</body>
</html>
verification.php


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
<?php
    include_once("bd.php");
    
    if (isset($_POST['submit'])){
        if(empty($_POST['login']))  {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите логин!"> Введите логин! </font>';
        } 
        elseif (!preg_match("/^\w{3,}$/", $_POST['login'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="В поле "Логин" введены недопустимые символы!"> В поле "Логин" введены недопустимые символы! Только буквы, цифры и подчеркивание!</font>';
        }
        elseif(empty($_POST['password'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите пароль !"> Введите пароль!</font>';
        }
        elseif (!preg_match("/\A(\w){6,20}\Z/", $_POST['password'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Пароль слишком короткий!"> Пароль слишком короткий! Пароль должен быть не менее 6 символов! </font>';
        }
        elseif(empty($_POST['password2'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите подтверждение пароля!"> Введите подтверждение пароля!</font>';
        }
        elseif($_POST['password'] != $_POST['password2']) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введенные пароли не совпадают!"> Введенные пароли не совпадают!</font>';
        }
        elseif(empty($_POST['email'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="Введите E-mail!">Введите E-mail! </font>';
        }
        elseif (!preg_match("/^[a-zA-Z0-9_\.\-]+@([a-zA-Z0-9\-]+\.)+[a-zA-Z]{2,6}$/", $_POST['email'])) {
            echo '<br><font color="red"><img border="0" src="error.gif" align="middle" alt="E-mail имеет недопустимий формат!"> E-mail имеет недопустимий формат! Например, name@gmail.com! </font>';
        }
         
        else{
            $login = $_POST['login'];
            $password = $_POST['password'];
            $mdPassword = md5($password);
            $password2 = $_POST['password2'];
            $email = $_POST['email'];
            $rdate = date("d-m-Y в H:i");
            $name = $_POST['name'];
            $lastname = $_POST['lastname'];  
              
            $query = ("SELECT id FROM users WHERE login='$login'");
            $sql = mysql_query($query) or die(mysql_error());
            
            if (mysql_num_rows($sql) > 0) {
                echo '<font color="red"><img border="0" src="error.gif" align="middle" alt="Пользователь с таким логином зарегистрированый!"> Пользователь с таким логином зарегистрирован!</font>';
            }
            else {
                $query2 = ("SELECT id FROM users WHERE email='$email'");
                $sql = mysql_query($query2) or die(mysql_error());
                if (mysql_num_rows($sql) > 0){
                    echo '<font color="red"><img border="0" src="error.gif"  alt="Пользователь с таким e-mail зарегистрированый!"> Пользователь с таким e-mail уже зарегистрирован!</font>';
                }
                else{
                    $query = "INSERT INTO users (login, password, email, reg_date, name_user, lastname )
                              VALUES ('$login', '$mdPassword', '$email', '$rdate', '$name', '$lastname')";
                    $result = mysql_query($query) or die(mysql_error());;
                    echo '<font color="green"><img border="0" src="ok.gif" align="middle" alt="Вы успешно зарегистрировались!"> Вы успешно зарегистрировались!</font><br><a href="index.php">На главную</a>';
                    
                                
                }
            }
        }
    }
?>
Если помог то жмём спасибо

Добавлено через 7 минут
вот только одна проблема не заю как сделать фотоальбом пользователя а та к всё работает гуд но может кт о подскажет как сделать альбом ??????
13
1 / 1 / 1
Регистрация: 04.11.2011
Сообщений: 180
19.02.2012, 19:34  [ТС]
Спасибо)))теперь осталось разобраться что к чему)))
0
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
20.02.2012, 19:07
Что, по-вашему, значит "личный кабинет"? Опишите и тогда будет проще вам подсказать
0
Ivan46
28.07.2012, 18:50
слушай skaynet, у тебя есть решение к проблеме с user.php и profile.php та есть 2 проблемы пол, день рождение !
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
28.07.2012, 19:14
skaynet, с ruseller.com что ли взял?)

Добавлено через 1 минуту
Цитата Сообщение от skaynet Посмотреть сообщение
вот только одна проблема не заю как сделать фотоальбом пользователя а та к всё работает гуд но может кт о подскажет как сделать альбом ??????
создаешь в БД допустим 10 полей с фото и потом их выводишь.. что именно не знаешь/непонятно/не получается?

Добавлено через 2 минуты
Цитата Сообщение от skaynet Посмотреть сообщение
db.php
как думаешь, пых не ругнется на undefined index login/password/id при отключенных register_globals в этом файле?
0
strelokpvl
06.12.2013, 17:48
Ребят подскажите пожалуйста: я не могу разобраться с данными файла db.php что нужно ввести в 4-5 пункте.. если можно по порядку
 Аватар для spite
9 / 9 / 3
Регистрация: 17.05.2011
Сообщений: 284
06.12.2013, 21:55
PHP
1
2
3
mysql_connect ("localhost","Пользователь","Пароль");
mysql_select_db ("База Данных");
mysql_query("SET NAMES utf8");
1. mysql_connect ("localhost","Пользователь","Пароль") ; Здесь localhost - это Локальный хост , можешь писать это как есть.
А "Пользователь" - по умалчиванию -это root ,когда вы создали дали Базу например "User" - Верху ищите слово привилегии там
нужно создать пользователя с логином и паролем и этот логин и пароль есть :Логин -"Пользователь" ,пароль-"Пароль" из mysql_connect ("localhost","Пользователь","Пароль") ; .



2.
mysql_select_db ("База Данных");-Это выбор базы данных у нас Это "User";
0
 Аватар для Арнур
0 / 0 / 0
Регистрация: 12.11.2014
Сообщений: 10
12.11.2014, 11:15
Люди помогите пожалуйсто вышла ошибочка какая то, вроде бы всё правильно оформил, но вышло:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\cabinet.local\www\ru-en\user.php on line 12
Вход на эту страницу разрешен только зарегистрированным пользователям!
0
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 3
10.01.2016, 05:19
skaynet, Привет, хотелось бы с тобой поговорить на счет личного кабинета, взялся бы ты за разработку личного кабинета. Есть очень интересный проект, хотелось бы тебя привлечь!!!!
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
10.01.2016, 18:03
Цитата Сообщение от NCSID Посмотреть сообщение
взялся бы ты за разработку личного кабинета.
могу помочь(если бюджет предусмотрен)
0
 Аватар для Ranger
12 / 12 / 2
Регистрация: 03.10.2008
Сообщений: 437
29.10.2019, 00:05
Как лучше сделать все данные о пользователе (штук 20 полей) хранить в одной базе с паролями, либо для логина и пароля использовать отдельную базу?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
01.11.2019, 08:38
Цитата Сообщение от Ranger Посмотреть сообщение
Как лучше сделать все данные о пользователе (штук 20 полей) хранить в одной базе с паролями, либо для логина и пароля использовать отдельную базу?
смотря какая информация хранится о пользователе, почитайте про нормализацию БД. И Вы путаете понятия база данных (БД) и таблица.
0
 Аватар для Ranger
12 / 12 / 2
Регистрация: 03.10.2008
Сообщений: 437
24.11.2019, 01:26
Цитата Сообщение от Виталюска Посмотреть сообщение
смотря какая информация хранится о пользователе, почитайте про нормализацию БД. И Вы путаете понятия база данных (БД) и таблица.
Да, я пуатаю, имел ввиду слово "таблица"
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
25.11.2019, 20:33
Цитата Сообщение от Ranger Посмотреть сообщение
либо для логина и пароля использовать отдельную базу?
не нужно, для логина и пароля, отдельную таблицу
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
27.11.2019, 11:00
Цитата Сообщение от fanatikus Посмотреть сообщение
не нужно, для логина и пароля, отдельную таблицу
ну почему же, вполне нормальная практика выносить данные пользователя в отдельную таблицу. В таблице юзеров остается только "системная" информация - логин/пароль, токен сброса пароля, дата создания/изменения, роль и т.п., а все остальное (ФИО, город, подпись и т.д.) выносится в таблицу с данными. Вполне себе нормально, и часто встречается такая реализация
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
27.11.2019, 11:21
Цитата Сообщение от KOPOJI Посмотреть сообщение
логин/пароль, токен сброса пароля, дата создания/изменения, роль и т.п.
да, но не только логин и пароль
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2019, 11:21
Помогаю со студенческими работами здесь

Личный кабинет php + mysql
Здравствуйте,мне нужно сделать личный кабинет как у интернет провайдера.Вход как пользователя так и администратора.Для пользователя...

Личный кабинет с обратной связью
Нужен вот такой скрипт(или как он называется): http://ezkh.ru/pu/ Работа его такая: юзей забивает свой номер лиц. счета, его...

Личный кабинет с просмотром вебкамер
Доброго времени суток! Я в php начинающий. Сделал пару месяцев назад сайт по шаблону (WordPress) и вот от Заказчика поступила задача -...

Реализовать личный кабинет по данной авторизации
Здравствуйте! Помогите пожалуйста, создать личный кабинет пользователя для данной авторизации: &lt;? if(isset($_POST) &amp;&amp;...

Перенаправление при входе в личный кабинет
Здрасте всем. Есть такой вопрос реализован личный кабинет но когда логинишься направляет на страницу index.php в чем проблема не пойму....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru