Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471

Свайп - как бороться

22.07.2017, 12:41. Показов 949. Ответов 3
Метки нет (Все метки)

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

Вводная:

В локации "Сумка" есть предмет с кнопкой "Одеть", при нажатии на кнопку статус вещи сменяется с off на on, при этом страницу редиректим на саму себя, соответственно вещь с кнопкой уже не выводится.

Но вот пользун махнул страницу назад, например, на мобиле и он опять видит вещь с кнопкой в сумке.

Вопрос: можно ли как-то бороться с этой бедой или тупо проверять статус вещи с выводом пользуну сообщения о том, что он балуется и она уже одета на его перса или просто обновлять её на текущую при нажатии кнопки одеть уже одетую?

Я видел на каком-то сайте, что при свайпе назад, страница тупо сбрасывается на текущую реальную.

Поделитесь мыслями, спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.07.2017, 12:41
Ответы с готовыми решениями:

Как бороться с F5?
Всем привет. Есть форма, нажав на кнопочку, происходит занесение в БД инфы. При нажатии на F5 или значок "обновить" вылазит...

Как с этим бороться ?
index.php <? include('/header.php'); include('/main.php'); include('/footer.php'); ?> header.php <!DOCTYPE html> <html> ...

Как с этим бороться???
Проблема такая: 2 компа, на одном linux, второй Win. На первом стоит Apach, php, ...короче web-server. файл index.php .... ...

3
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
22.07.2017, 13:14
при возврате назад браузер иногда не запрашивает ту страницу еще раз, а берет его из ранее сохраненной кэш памяти. просто отключить кеширование на сервере вот и всё. заголовки отправить http в браузер чтобы кеш не сохранялся...
наверно так.
1
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
22.07.2017, 17:47
конечно глуповато , но в браузере можно отслеживать кнопку назад и при этом сделать редирект на эту же страницу.
1
97 / 47 / 17
Регистрация: 25.04.2017
Сообщений: 471
22.07.2017, 19:20  [ТС]
Цитата Сообщение от Azdeman Посмотреть сообщение
отслеживать кнопку назад
свайп длается жестом по экрану

Добавлено через 1 час 29 минут
Azdeman,

Сделал с привязкой кнопки действия к id сессии и меняю id сессии, если кнопка была нажата.

Только вот как лучше проверять, если id сессии можно посмотреть и подставить, может id сессии в базу писать, а не через POST передавать?

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
 
error_reporting(E_ALL);
 
session_start();
 
function message($item, $value)
{
    return $_SESSION[$item] = $value;
}
 
function refresh()
{
    session_regenerate_id(true);
    header('location: ' . $_SERVER['REQUEST_URI']);
    exit();
}
 
if (filter_has_var(INPUT_POST, 'do')) {
    if ($_POST['do'] != session_id()) {
        message('red', 'Ошибка - кнопка нажата не на текущей странице');
        refresh();
    }
    message('green', 'Всё работает правильно');
    refresh();
}
 
if ($_SESSION) {
    foreach ($_SESSION as $item => $value) {
        $legend = '<div style="color: ' . $item . ';">' . $value . '</div>';
        unset($_SESSION[$item]);
    }
} else {
    $legend = '<div style="color: blue;">Ожидается ввод данных</div>';
}
 
?>
<form action="" method="post">
    <fieldset>
        <legend>
            <?= $legend ?>
        </legend>
        <button class="btn btn-success btn-sm" name="do" value="<?= session_id() ?>">
            Отправить
        </button>
    </fieldset>
</form>
p.s. код примерный
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.07.2017, 19:20
Помогаю со студенческими работами здесь

Как бороться с этой гогой?
$s1=&quot;графика&quot;, $s2=&quot; сайт о программировании&quot; if (preg_match($s1, $s2))

Что за егог и как с ним бороться?
&lt;?php session_start(); $login=$_POST; $password=$_POST; echo &quot;&lt;html&gt;\n&quot;; echo &quot;&lt;meta http-equiv=\&quot;Content-Language\&quot;...

Дублируются запросы из PHP-скрипта, как с этим бороться?
Столкнулся с очень странным глюком. У меня есть bash-скрипт, который из скрипта со страницы WordPress-а запускается на выполнение. Из...

Замечание "Notice: Undefined offset: 0", как бороться?
Всем привет! Выводится данное замечание &quot;Notice: Undefined offset: 0&quot;, указывая на строчку: if ($myfile=='@'){ //.... } ...

Как бороться с экранирование "ш"
Меня удивляет особенность функции mysql_escape она заменяет ш на кракозябры. причем Ш (большая) пишется нормально. Что делать? писать...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 01.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 31.01.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru