0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
1

Работа с личным кабинетом

13.11.2016, 20:13. Показов 3558. Ответов 137
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, есть обработчик для заполнения данных.
Сам обработчик:
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
 if(isset($_GET['exit']) == true){
    session_destroy();
    header('Location:'. HOST .'?mode=cabinet');
    exit;
 }
 //Если нажата кнопка то обрабатываем данные
 if(isset($_POST['save_add']))
 {
    //Проверяем на пустоту
    if(empty($_POST['name']))
        $err[] = 'Введите имя';
 
    if(empty($_POST['lastname']))
        $err[] = 'Введите фамилию';
 
    if(empty($_POST['birthday']))
        $err[] = 'Введите дату рождения';
 
    if(empty($_POST['sex']))
        $err[] = 'Введите пол';
 
    if(empty($_POST['country']))
        $err[] = 'Введите строну';
 
    if(empty($_POST['city']))
        $err[] = 'Введите город';
 
    if(empty($_POST['avatar']))
        $err[] = 'Введите аватар';
 
    if(count($err) > 0){
        echo showErrorMessage($err);
    //  var_dump($_POST);
    }else
    {
        $sql = 'INSERT INTO `profiles`
                        VALUES("",
                                   "'.$_SESSION['users_id'].'",
                                :name,
                                :lastname,
                                "'.$_POST['birthday'].'",
                                :sex,
                                :country,
                                :city,
                                :avatar
                                )';
                //Подготавливаем PDO выражение для SQL запроса
                $stmt = $pdo->prepare($sql);
                $stmt->bindValue(':name', $_POST['name'], PDO::PARAM_STR);
                $stmt->bindValue(':lastname', $_POST['lastname'], PDO::PARAM_STR);
                $stmt->bindValue(':sex', $_POST['sex'], PDO::PARAM_STR);
                $stmt->bindValue(':country', $_POST['country'], PDO::PARAM_STR);
                $stmt->bindValue(':city', $_POST['city'], PDO::PARAM_STR);
                $stmt->bindValue(':avatar', $_POST['avatar'], PDO::PARAM_STR);
                $stmt->execute();
 
        header('Location:'. HOST .'?mode=cabinet&status=full');
        exit;
    }
 }
 
?>
Как добавить обработчик для проверки если это не пользователь, а бот то выкинем его на страницу с ошибкой, а если пользователь то разрешаем редактировать данные.
Ну короче если в сессии есть логин пользователя и он зашел под своим логином и паролем то он может в кабинете у себя редактировать данные.
А если это бот или гость, то нельзя ему редактировать данные, для них у нас есть страница с ошибкой.
Жду ваших предложений.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.11.2016, 20:13
Ответы с готовыми решениями:

wp с личным кабинетом
Господа, подскажите как с помощью плагинов дать возможность регистрироваться и загружать свою...

CMS с РАСШИРЕННЫМ личным кабинетом
Доброе время суток, уважаемые форумчане! Прошу помочь с одним вопросом. Кратко суть: есть...

ЦМС с личным кабинетом клиентов
Есть сайт компании на html. Подбираю движок. Со временем появились десятки партнеров-клиентов,...

Подскажите с электронным кабинетом (учебником) на Delphi
Привет! У меня дипломная это электронный кабинет (учебник). Так вот, если я сделаю все через HTML,...

137
9 / 9 / 6
Регистрация: 08.10.2012
Сообщений: 265
13.11.2016, 20:33 2
поставить капчу. как может скрипт определит меня как бота и выкинет на страницу с ошибкой. первый раз слышу такое.
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 20:44  [ТС] 3
Ну может я не так написал.
Если пользователь зашел себе в кабинет то он видит свои данные ну и где то выставить ссылочку на редактирования данных.

А обработчик такой:
Если это пользователь данной странички id то разрешаем редактировать данные, именно только этой страницы а не чужой.
А если это пользователь другой странички то блокируем ему редактирования чужой страницы.
Надеюсь правильно описал.

Что бы редактировать данные в кабинете надо капча да не прикалывайся. Мне нужен обработчик для проверки.
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.11.2016, 21:09 4
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Если пользователь зашел себе в кабинет то он видит свои данные ну и где то выставить ссылочку на редактирования данных.
Поставь проверку сессии, если она есть то все гуд если нет то перенаправляем на главную страницу
1
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 21:10  [ТС] 5
Поставил бы не догадываюсь как, подскажи пожалуйста!
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.11.2016, 21:13 6
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
А если это пользователь другой странички то блокируем ему редактирования чужой страницы.
таже проверка, только уже на совпадение данного пользователя и ид которое он пытается редактировать

Добавлено через 2 минуты
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Поставил бы не догадываюсь как, подскажи пожалуйста!
в начале страницы
PHP
1
2
3
if (!empty($_SESSION['user'])) {
//тут редирект на главную
}
самый приметивный
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 21:14  [ТС] 7
А после чего эту проверку ставить? Или перед чем? например: перед вводам данных или после них?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.11.2016, 21:15 8
эя же написал
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
А после чего эту проверку ставить? Или перед чем? например: перед вводам данных или после них?
Цитата Сообщение от Виталюска Посмотреть сообщение
в начале страницы
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 21:28  [ТС] 9
Не срабатывает делаю редирект и проверку, не срабатывает.
Допустим я скопировал ссылку site/cabinet_aa/ и делаю выход из сайта и вставляю в браузер он меня перекидывает на редактирования данных. Хотя этого делать не должен, как правильно прописать проверку?
0
576 / 514 / 253
Регистрация: 26.09.2010
Сообщений: 2,603
13.11.2016, 21:33 10
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Допустим я скопировал ссылку site/cabinet_aa/ и делаю выход из сайта и вставляю в браузер он меня перекидывает на редактирования данных. Хотя этого делать не должен, как правильно прописать проверку?
может не уничтожил сессию поэтому и происходит так, либо не туда запихал проверку
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 22:25  [ТС] 11
проверка, только уже на совпадение данного пользователя и ид которое он пытается редактировать
Как организовать проверку?
PHP
1
2
3
if($_SESSION['login'] != $_SESSION['users_id']){
header('Location:'. HOST .'?mode=index');   
}
Пробую сделать так верно ли это?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
13.11.2016, 22:36 12
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
if($_SESSION['login'] != $_SESSION['users_id']){
вы сами поняли, что написали?
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 22:40  [ТС] 13
Если сессия логина не равна сессии profilya пользователя то перенаправляем его на страницу(

Не работает проверка любой кто наберет так в браузере:
site/?mode=cabinet_add
Может занести данные в базу данных(( то-есть выводится форма для заполнения анкеты и он может их ввести.
Ну помогите мне пожалуйста, как так организовать проверку.
Как ограничить поставить запрет ?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
13.11.2016, 22:51 14
Цитата Сообщение от Виталюска Посмотреть сообщение
if (!empty($_SESSION['user'])) { //тут редирект на главную }
наверно без !(отрицания)

Добавлено через 3 минуты
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Если сессия логина не равна сессии profilya пользователя
дальше все интересней.
что значит сессия логина?
вы вообще понимаете, что такое сессия?

Добавлено через 4 минуты
пользователь проходит авторизацию, добавляете в сессию его id. далее проверяете, если есть в сессии id/ пускаете в кабинет и выводите данные по этому id
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 22:53  [ТС] 15
У меня это сообщение вызвало улыбку))
Сессия логина ну короче если ты авторизовался и логин находится в сессии тогда можно редактировать данные)
Если сессия уничтожена то нельзя редактировать данные)))

Делаю выход из сайта попадаю на главную страницы, когда ввожу вот такую строку в браузер
site/?mode=cabinet_add
То он меня направляет на стр редактирования анкеты( хотя я не сделал вход на сайт как это исправить?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
13.11.2016, 22:58 16
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
У меня это сообщение вызвало улыбку))
у меня, каждое ваше сообщение вызывает улыбку
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Сессия логина ну короче если ты авторизовался и логин находится в сессии
хорошо, а что тогда следущее?
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
сессии profilya пользователя
0
Заблокирован
13.11.2016, 23:01 17
_NE_KAKIX_IMEN_, все страницы ЛК должны быть защищены проверкой авторизационных данных.
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
13.11.2016, 23:02  [ТС] 18
ахаха я не могу уже сам себя смеюсь profilya короче так:
В таблице profiles находится поле users_id это поле связано с таблицей users)
Вот и делал такой запрос))) Я вообще запутался))

Сессия это когда пользователь сохраняет данные на сайте они будут хранится до тех пор пока он не перезапустит браузер.

Помогите мне с запросом а то я скоро выучу всю литературу))) ахахаха.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
13.11.2016, 23:03 19
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
То он меня направляет на стр редактирования анкеты( хотя я не сделал вход на сайт как это исправить?
если пользователь авторизовался, в сессии должен быть идентификатор, или логин(как у вас). вот и проверяйте при выводе страницы кабинета, если есть в сессии логин пускам, если нет, давай досвиданья
0
Заблокирован
13.11.2016, 23:04 20
...Это касается и GET-, и POST-обработчиков, если в используемом вами движке они разделены.
0
13.11.2016, 23:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.11.2016, 23:04
Помогаю со студенческими работами здесь

Путь к личным include
Всем вечер добрый. Ребята подскажите где В Студии можно прописать папку(директорию) где хранятся...

Помогите уроками или личным опытом
Я знаю adobe photoshop cs4 на 80-90% и немного разбираюсь в web-дизайне но хочется по больще,...

Как вернуть доступ к личным файлам и папкам?
Попросила одного чела переустановить систему на своем компе..Когда он создавал учетную запись,...

Нужен модуль личного кабинета абонента ТСЖ с личным счетом
Добрый день! Подскажите есть ли такой модуль. Личный кабинет абонента ТСЖ с личным счетом, просмотр...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru