Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
1

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

13.11.2016, 20:13. Показов 3562. Ответов 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
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
17.11.2016, 13:16 101
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
А вот у меня за ввод в input отвечает другой файл, user_form.html.
ну так подключите его, или выборку данных из базы делайте в нем

Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
но у меня не получается в HTML впихнуть php код то-есть запрос
измените расширение на php
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Как добавить изображения в личный кабинет?
загрузить файл на сервер, в базу записать имя файла, и выводить в кабинете
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Код нашел в интернете,
прекрасно, осталось понять что в нем происходит, и решить нужен он вам или нет
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.11.2016, 01:28  [ТС] 102
Так почему то я отвлекся( изменил файл user_form.html на user_form.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
<?php
$sql = 'SELECT * FROM `profiles`
    WHERE `users_id`="'. $_SESSION['users_id'] .'"';
    $stmt = $pdo->prepare($sql);
    //Выводим данные пользователя
     if($stmt->execute()){
         $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
        if ($rows){
            foreach($rows as $val){
                 echo 'Пол: '.$val['sex'] .'<br/>';
                 echo 'Аватар: '.$val['avatar'] .'<br/>';
}
                 }
                         }
    ?>
<h>Заполните данные</h>
<form action="" method="POST">
    <label >Имя</label>
    <!-- <input class="cabin" type="text" name="name" value=""><br> -->
    <input type="text" name="name" value="<?php echo $val['name']; ?>"><br>
    <!-- <a href='#' onClick="update(<?php echo $val['name'];?>);" >Обновить</a> -->
    <label>Фамилия</label>
    <input type="text" name="lastname" value="<?php echo $val['lastname']; ?>"><br>
    <label>Дата рождения</label>
    <input class="cabin" type="date" name="birthday" value="<?php echo $val['birthday']; ?>"><br>
    <label>Пол</label>
    <input class="" type="radio" name="sex" value="<?php echo $val['M']; ?>">Мужчина
    <input class="" type="radio" name="sex" value="<?php echo $val['F']; ?>">Женщина<br>
    <label>Страна</label>
    <input class="cabin" type="text" name="country" value="<?php echo $val['country']; ?>"><br>
    <label>Город</label>
    <input class="cabin" type="text" name="city" value="<?php echo $val['city']; ?>"><br>
    <label>Аватар</label>
    <input class="cabin" type="file" name="avatar" value="<?php echo $val['avatar']; ?>"><br>
    <input class="submit" type="submit" name="save_add" value="Сохранить">
</form>
На сколько правильно я сделал запрос правильно ответьте мне)


В моем примере не правильно организована опция выбор пола муж или жен.
Как сделать выбор что бы в базу загружался, пол муж или жен пол или пол не указан
Какой тип в базе нужно выбрать для этого
Кнопки радио не подходят мне.
Нужен другой метод например через кнопку выбора пробую так:
PHP
1
2
3
4
5
<select>
        <option name="sex" value="<?php echo $val['Nopol']; ?>">Не выбран</option>
        <option name="sex" value="<?php echo $val['Men']; ?>">Мужчина</option>
        <option name="sex" value="<?php echo $val['Woman']; ?>">Женщина</option>
    </select><br>
Помогите пожалуйста. Жду ваших комментариев.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.11.2016, 10:54 103
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
<option name="sex"
HTML5
1
<select name='sex'....
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.11.2016, 13:50  [ТС] 104
не чего не изменилось, я так тоже пробивал сделать. Как это сделать правильно, да и в базе как правильно тип указать?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.11.2016, 14:06 105
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
На сколько правильно я сделал запрос
вы, сами можете ответить на этот вопрос. если в форме выводятся данные, правильно, если нет........
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.11.2016, 14:12  [ТС] 106
Понятно вопрос на вопрос получается спрашивать( а ответа толкового не услышал.
Я вообще спрашиваю как сделать а не найти ошибку и исправить.
В базе какой тип выбрать wanchar?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
20.11.2016, 14:19 107
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
В базе какой тип выбрать wanchar?
VARCHAR
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
20.11.2016, 23:25  [ТС] 108
Так с типом разобрались, а теперь как сделать выбор:
Муж
Жен
Не указан
Вот три поля в форме есть. А как их организовать в коде?

Добавлено через 20 минут
Ну например я вытягиваю данные из базы, мне они приходят а вот определение кто он жен или мужик не приходит. Как правильно все указать. Что бы вносились данные через php
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.11.2016, 18:16  [ТС] 109
Как связать эти 2 поля что бы html код вписался в 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
<?php
$sql = 'SELECT * FROM `profiles`
    WHERE `users_id`="'. $_SESSION['users_id'] .'"';
    $stmt = $pdo->prepare($sql);
    //Выводим данные пользователя
     if($stmt->execute()){
         $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
        if ($rows){
            foreach($rows as $val){
                 echo 'Пол: '.$val['sex'] .'<br/>';
                 echo 'Аватар: '.$val['avatar'] .'<br/>';
}
                 }
                         }
    ?>
<h>Заполните данные</h>
<form action="" method="POST">
    <label >Имя</label>
    <!-- <input class="cabin" type="text" name="name" value=""><br> -->
    <input type="text" name="name" value="<?php echo $val['name']; ?>"><br>
    <!-- <a href='#' onClick="update(<?php echo $val['name'];?>);" >Обновить</a> -->
    <label>Фамилия</label>
    <input type="text" name="lastname" value="<?php echo $val['lastname']; ?>"><br>
    <label>Дата рождения</label>
    <input class="cabin" type="date" name="birthday" value="<?php echo $val['birthday']; ?>"><br>
    <label>Пол</label>
    <input class="" type="radio" name="sex" value="<?php echo $val['M']; ?>">Мужчина
    <input class="" type="radio" name="sex" value="<?php echo $val['F']; ?>">Женщина<br>
    <label>Страна</label>
    <input class="cabin" type="text" name="country" value="<?php echo $val['country']; ?>"><br>
    <label>Город</label>
    <input class="cabin" type="text" name="city" value="<?php echo $val['city']; ?>"><br>
    <label>Аватар</label>
    <input class="cabin" type="file" name="avatar" value="<?php echo $val['avatar']; ?>"><br>
    <input class="submit" type="submit" name="save_add" value="Сохранить">
</form>
Жду ответа.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
22.11.2016, 18:48 110
в форме добаления
PHP/HTML
1
2
3
4
    <select name="sex" >
        <option value="m">М</option>
        <option value="g">Ж</option>
    </select>
в форме редактирования
PHP/HTML
1
2
3
4
    <select name="sex" >
        <option value="m" <?php if($val['sex'] =='m'){echo "selected = 'selected'";}?></option>
        <option value="g" <?php if($val['sex'] =='g'){echo "selected = 'selected'";}?></option>
    </select>
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.11.2016, 21:02  [ТС] 111
У меня одно форма и для добавления и для редактирования, или так нельзя?

Как вместо echo подставить поле ввода?
PHP
1
2
3
4
5
6
7
8
<?php        if ($rows){
            foreach($rows as $val){
 echo 'Пол: '.$val['sex'] .'<br/>';
                 echo 'Аватар: '.$val['avatar'] .'<br/>';
}
 
    <label >Имя</label>
   <input type="text" name="name" value="<?php echo $val['name']; ?>"><br> ?>
Изменить echo на поле ввода?
0
Заблокирован
22.11.2016, 21:18 112
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
У меня одно форма и для добавления и для редактирования, или так нельзя?
Можно. Я вам даже описывал где-то в начале темы, как это можно красиво сделать. Вот я работаю в админке со списком. У меня имеется кнопка «Создать». Если я щелкну по ней, то прямо на этой странице появится простейший диалог с текстовым полем и опять-таки кнопкой «Создать». Я введу в текстовое поле какой-нибудь идентификатор или оставлю поле пустым, после чего щелкну по кнопке. Произойдет попытка создания объекта (вставки новой записи с указанным или дефолтным идентификатором). Если эта попытка окажется успешной, пойдет редирект на форму редактирования только что созданного объекта.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
22.11.2016, 21:19 113
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
Как вместо echo подставить поле ввода?
не ввода, а выбора
HTML5
1
<input type="file" name="avatar">
0
Заблокирован
22.11.2016, 21:28 114
...Если вы всегда при создании используете дефолтный идентификатор (например числовой автоинкрементальный), то в первом описанном мной диалоге нет необходимости, т.е. попытка создания объекта может происходить сразу после щелчка по первой кнопке «Создать».
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.11.2016, 21:30  [ТС] 115
У меня есть одна форма она отвечает и за добавления и за редактирования, именно только форма а код по двух другим файлам. Можно ли так?
Вы меня не поняли на счет echo и поле для ввода, хочу в echo добавить поле для ввода данных. А как сделать не знаю.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
22.11.2016, 21:38 116
PHP/HTML
1
2
3
4
5
6
7
8
<form>
    <?php foreach($rows as $val){?>
    <label>Имя</label>
    <input type="text" name="name" value="<?php echo $val['name'];?>">
    <label>Фамилия</label>
    <input type="text" name="firstname" value="<?php echo $val['firstname'];?>">
    <?php }?>
</form>
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.11.2016, 22:07  [ТС] 117
Че то не получилось, у меня форма для ввода данных находится в user_form.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
<?php
$sql = 'SELECT * FROM `profiles`
    WHERE `users_id`="'. $_SESSION['users_id'] .'"';
    $stmt = $pdo->prepare($sql);
    //Выводим данные пользователя
     if($stmt->execute()){
         $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
        if ($rows){
            foreach($rows as $val){
                // echo 'Имя: '.$val['name'] .'<br/>';
                // echo 'Фамилия: '.$val['lastname'] .'<br/>';
                
}
}
}
    ?>
<h>Заполните данные</h>
<form action="" method="POST">
    <label >Имя</label>
    <input class="cabin" type="text" name="name" value="<?php echo $val['name']; ?>"><br>
 
    <label>Фамилия</label>
    <input class="cabin" type="text" name="lastname" value="<?php echo $val['lastname']; ?>"><br>
 
    <label>Дата рождения</label>
    <input class="cabin" type="date" name="birthday" value="<?php echo $val['birthday']; ?>"><br>
 
    <label>Пол</label>
    <select class="cabin" name="sex" >
        <option value="Мужчина" <?php if($val['sex'] =='m'){echo "selected = 'selected'";}?>>Мужской</option>
        <option value="Женщина" <?php if($val['sex'] =='g'){echo "selected = 'selected'";}?>>Женский</option>
    </select><br>
 
    <label>Страна</label>
    <input class="cabin" type="text" name="country" value="<?php echo $val['country']; ?>"><br>
 
    <label>Город</label>
    <input class="cabin" type="text" name="city" value="<?php echo $val['city']; ?>"><br>
 
    <label>Аватар</label>
    <input class="cabin" type="file" name="avatar" value="<?php echo $val['avatar']; ?>"><br>
 
    <input class="submit" type="submit" name="save_add" value="Сохранить">
</form>
Хочу вместо echo подставить кусок формы.
В вашем способе вроде на сколько не ошибаюсь, вводится на html так.
А для php покажите пожалуйста спасибо.
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
22.11.2016, 22:41 118
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
В вашем способе вроде на сколько не ошибаюсь, вводится на html так.
А для php покажите пожалуйста спасибо.
как все запущено. что значит для php?
не нужно с помощью php выводить html. нужно в html добавлять вставки php для вывода инфы из базы.
и нафига вам foreach, если достали одну строку из базы.
вы так и не хотите вникать в код
в общем как-то так и я умываю руки
PHP/HTML
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
<?php 
    $sql = 'SELECT * FROM `profiles`
    WHERE `users_id`="'. $_SESSION['users_id'] .'"';
    $stmt = $pdo->prepare($sql);
    //Выводим данные пользователя
    $stmt->execute();
    if($row = $stmt->fetchAll(PDO::FETCH_ASSOC)){?>
        <h>Заполните данные</h>
        <form action="" method="POST">
            <label >Имя</label>
            <input class="cabin" type="text" name="name" value="<?php echo $row['name']; ?>"><br>
 
            <label>Фамилия</label>
            <input class="cabin" type="text" name="lastname" value="<?php echo $row['lastname']; ?>"><br>
 
            <label>Дата рождения</label>
            <input class="cabin" type="date" name="birthday" value="<?php echo $row['birthday']; ?>"><br>
 
            <label>Пол</label>
            <select class="cabin" name="sex" >
                <option value="Мужчина" <?php if($row['sex'] =='m'){echo "selected = 'selected'";}?>>Мужской</option>
                <option value="Женщина" <?php if($row['sex'] =='g'){echo "selected = 'selected'";}?>>Женский</option>
            </select><br>
 
            <label>Страна</label>
            <input class="cabin" type="text" name="country" value="<?php echo $row['country']; ?>"><br>
 
            <label>Город</label>
            <input class="cabin" type="text" name="city" value="<?php echo $row['city']; ?>"><br>
 
            <label>Аватар</label>
            <input class="cabin" type="file" name="avatar" value="<?php echo $row['avatar']; ?>"><br>
 
            <input class="submit" type="submit" name="save_add" value="Сохранить">
        </form>
    <?php }?>
0
0 / 4 / 1
Регистрация: 20.05.2015
Сообщений: 450
22.11.2016, 22:49  [ТС] 119
Это получается мне надо назад вернуть html страницу. и делать так как вы?
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
22.11.2016, 22:52 120
Цитата Сообщение от _NE_KAKIX_IMEN_ Посмотреть сообщение
мне надо назад вернуть html страницу
нет. html, может быть и в файлах, с расширением php
0
22.11.2016, 22:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.11.2016, 22:52
Помогаю со студенческими работами здесь

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

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

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

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


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

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