Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 2

Изменение статуса учётной записи activated/deactivated

26.02.2017, 16:06. Показов 1267. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, я рад приветствовать вас!

Я столкнулся с проблемой и нуждаюсь в помощи. Надеюсь моя просьба будет не слишком наглой.
Дело в том, что я javascript и jquery я еще не разбираюсь, так как не хочу хвататься за несколько языков сразу и метаться между ними, изучаю сейчас php

Я пишу сайт корпоративный для жены, в целом все готово, лишь осталось дописать админку.

На странице списка зарегистрированных пользователей, сверстал разметку, в которой оформил checkbox

Название: 1d14f7c3d04c4041bc49533c5dea2311.png
Просмотров: 8

Размер: 2.4 Кб

Бегунки активны и переключаются.

CSS
1
2
3
4
5
6
7
8
9
input[type="checkbox"]{display: none;}
input[type="checkbox"] + label{cursor: pointer;padding-left: 50px;position: relative;font-family: tahoma, sans-serif, arial;}
input[type="checkbox"] + label::before{content: "";display: inline-block;position: absolute;top: 0;left: 0;vertical-align: middle;padding: 0;height: 15px;width: 36px;margin: 0 5px 0 0;border: 1px solid #dadada;border-radius: 12px;background: #fc7979;}
input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after{-webkit-transition: all .2s ease-out;transition: all .2s ease-out;}
input[type="checkbox"] + label::after{content: "";display: block;position: absolute;top: 1px;left: 1px;width: 22px;height: 13px;border-radius: 22px;
background: #fff;border: 1px solid #dadada;box-shadow: 0 3px 3px rgba(140, 140, 140, .1);}
input[type="checkbox"]:checked + label::before{background: #6edc5f;border-color: #6dd75e;}
input[type="checkbox"]:checked + label::after{left: 13px;}


Вывел с БД список пользователей:
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
$sql = "SELECT * FROM `cordinators`";
$sql = mysql_query($sql, $link_connect);
while ($cordinators = mysql_fetch_assoc($sql)){
    if($cordinators['first'] == 'yes'){
        $first = '<img src="check_box.png" alt="" />';
    }else{
        $first = '<img src="cancel.png" alt="" />';
    }
 
    if($cordinators['status'] == 'activated'){
        $a = 'checked';
    }else{
        $a = '';
    }
    
    echo '
        <div class="cordinator">
            <a href="cordi_edit.php?=id'.$cordinators['id'].'" id="edit"><img src="application_edit.png" alt=""/></a>
            <div class="name">'.$cordinators['surname'].' '.$cordinators['name'].' '.$cordinators['patronymic'].'</div>
            <div class="email">'.$cordinators['email'].'</div>
            <div class="user_group">'.$cordinators['user_group'].'</div>
            <div class="UCode">'.$cordinators['UCode'].'</div>
            <div class="first">'.$first.'</div>
            <div class="status"><input type="checkbox" id="'.$cordinators['id'].'" checked="'.$a.'" /> <label for="'.$cordinators['id'].'"></label></div>
        </div>
    
    ';
}
id стилей для <input type="checkbox" /> в цикле нужен индивидуальный, чтобы работал <label for=""></label>
Выдал его по id пользователей.




Эта проверка определяет, активирована учетка или нет, в соответствии: checked="'.$a.'"
PHP
1
2
3
4
5
if($cordinators['status'] == 'activated'){
        $a = 'checked';
    }else{
        $a = '';
    }
Суть идеи такова, как сделать, чтобы переключая в этом списке учеток этот чек бокс на записи пользователя и в БД менять статус учетки activated/deactivated

Знаю что это делается через ajax, но даже не представляю как такой скрипт написать и обработчик

Знаю моя просьба возможно наглая, но без помощи я не решу вопрос.

Благодарю
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2017, 16:06
Ответы с готовыми решениями:

На новой учетной записи открыть все файлы старой учетной записи
когда я создаю новую учетную запись не могу открыть никакие файлы,приходится заново устанавливать программы как сделать так,чтобы на...

Изменение имя учетной записи (с русских букв на английские)
Добрый вечер. Извиняюсь заранее, если повторяюсь темой. Но так и не смог найти вразумительного ответа. На данный момент моя учетная...

Изменение имени пользователя (имя локальной учетной записи) в Windows 10
Как безопасно переименовать имя пользователя (локальная учетная запись (администратор)) в Windows 10? Комп подключен к локальной сети....

3
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
26.02.2017, 17:41
Лучший ответ Сообщение было отмечено qpurypaHT как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
        $(function () {
            $("input:checkbox").on("change", function ()  {
                console.log('test');
                var id = $(this).attr('id');
                var val = this.checked?'activated':'deactivated';
                $.ajax({
                    url:'file.php',//адрес обработчика
                    type:'post',
                    data:{id:id,val:val},//передаем id и значение(activated или deactivated) 
                            // в res, будет ответ с сервера
                    success:function(res){
                        // что-то делаем
                    }
                });
            });
        })
в обработчике, данные будут доступны в массиве $_POST($_POST['id'] and $_POST['val'])
1
0 / 0 / 0
Регистрация: 26.02.2017
Сообщений: 2
26.02.2017, 19:00  [ТС]
Отлично, большое спасибо, немного поколдовал с $("body").html(id); и $("body").html(val); чтобы понять что к чему


JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        <script  type="text/javascript">
            $(function () {
                $("input:checkbox").on("change", function ()  {
                    var id = $(this).attr('id');
                    var val = this.checked?'activated':'deactivated';
                    $.ajax({
                        url:'test.php',
                        type:'post',
                        data:{id:id,val:val},
                        success:function(res){
                        }
                    });
                });
            });
        </script>
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
if($_SERVER["REQUEST_METHOD"] == "POST"){
                $id = clear_string($_POST['id']);
                $val = clear_string($_POST['val']);
                if($val == 'activated'){
                    $query = "
                    UPDATE 
                        `cordinators` 
                    SET 
                        `status` = '".$val."' 
                    WHERE 
                        `UCode` = '".$id."'
                    ";
                    mysql_query($query) or die($query . '<br />' . mysql_error());
                }elseif($val == 'deactivated'){
                    $query = "
                    UPDATE 
                        `cordinators` 
                    SET 
                        `status` = '".$val."' 
                    WHERE 
                        `UCode` = '".$id."'
                    ";
                    mysql_query($query) or die($query . '<br />' . mysql_error());
                }else{
                    
                }
                
            }

пока такой вариант, может что умнее запишу, работает. Благодарю!
0
 Аватар для fanatikus
1932 / 1523 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
26.02.2017, 19:16
нафига все эти условия? нравиться много писать одно и тоже?
сразу обновляем данные в базе и все
PHP
1
2
3
4
    $id = clear_string($_POST['id']);
    $val = clear_string($_POST['val']);
    $query = "UPDATE `cordinators` SET `status` = '".$val."'WHERE UCode` = '".$id."'";
    mysql_query($query) or die($query . '<br />' . mysql_error());
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
26.02.2017, 19:16
Помогаю со студенческими работами здесь

Как сделать скриншот экрана сеанса одной учетной записи программой из сеанса другой учетной записи?
Что имеем: Одни компьютер. Одна ОС - windows (возможно xp, 7 x86-x64). Учетных записей зарегистрировано несколько - Admin, User01, User02,...

УТ 11.2. Изменение статуса заказа клиента.
Добрый день! Помогите пожалуйста разобраться! В УТ 11.2 есть документ заказ клиента. На общей форме документа есть реквизиты ...

Изменение статуса, распечатанной строки
Здравствуйте. Помогите, пожалуйста, в решении такой проблемы. В нашей компании установлена 1С 8.0. Несколько сотрудников, работая с...

изменение http статуса для файла
здравствуйте. как настроить apache так, чтобы по дейсвующей ссылке на файл, выдавалось сообщение, что 404, не найдено? не могу найти...

Изменение статуса модератора в админке на redbean
Добрый день, пытаюсь писать админку на redbean, хочу внести функцию что-бы на ряду с обычными пользователями, были модераторы. На странице...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru