Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2019, 12:14
Интересующийся
Отправить личное сообщение для Chesterfield25 Посмотреть профиль Найти все сообщения от Chesterfield25
 
Регистрация: 03.07.2019
Сообщений: 15

Как сделать ссылку не активной после перехода?
Подскажите как сделать ссылку не активной после перехода одного человека?
Скажем у меня на странице есть список ссылок, мне нужно сделать что по одной ссылке могли перейти только один раз, после чего она стала не активной для всех остальных. То есть если я перейду по одной из ссылок, то все кто посетит эту страницу после меня не смогут переходить по этой ссылке!

Вот на одном из сайтов нашел информацию https://webgyry.info/disable-link-href-jquery

Где можно заблокировать ссылку
<a href="http://xmonitoring.ru/" class="link">Ссылка не активная</a>
<script type="text/javascript"> $(document).ready ( function(){ $(".link").click(function() { return false; }); }); </script>


Где написано: если перед тем, как сделать ссылку не активной, нужно выполнить какие-либо действия, перед командой return false, вы можете добавить свой код. Подскажите как правильно перед командой return false указать что бы ссылка открывалась в новой вкладке, и будит это работать?
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2019, 12:44
Интересующийся
Отправить личное сообщение для Chesterfield25 Посмотреть профиль Найти все сообщения от Chesterfield25
 
Регистрация: 03.07.2019
Сообщений: 15

Если можете подскажите как это сделать с помощью php, только что бы ссылки не из базы данных выводить и удалять а из txt файла?
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2019, 13:44
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 11,398

$link = 'xxxxx'; //ссылка по которой перешли, как и кем это у вас определяется неизвестно
//удаление из файла
$f = implode(PHP_EOL, array_filter(file('filename.txt', FILE_IGNORE_NEW_LINES), function($v) use($link) {
     return $v !== $link;
}));
//сохранение файла
file_put_contents('filename.txt', $f);


PS. Только разумнее не удалять, а добавлять.

Последний раз редактировалось laimas, 03.07.2019 в 13:57.
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2019, 13:58
Интересующийся
Отправить личное сообщение для Chesterfield25 Посмотреть профиль Найти все сообщения от Chesterfield25
 
Регистрация: 03.07.2019
Сообщений: 15

Посмотрите что выдаёт на странице http://b99437dx.beget.tech/
Ответить с цитированием
  #5 (permalink)  
Старый 03.07.2019, 14:09
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 11,398

Ничего не выдает.
Ответить с цитированием
  #6 (permalink)  
Старый 03.07.2019, 14:11
Интересующийся
Отправить личное сообщение для Chesterfield25 Посмотреть профиль Найти все сообщения от Chesterfield25
 
Регистрация: 03.07.2019
Сообщений: 15

Из текстового файла нужно показать на странице список ссылок в количестве 10 штук. Если по какой то из ссылок перешли то она удаляется из файла и на странице больше не показывается!
Ответить с цитированием
  #7 (permalink)  
Старый 03.07.2019, 14:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 11,398

Вы сперва с логикой разберитесь, а уже затем конкретно. Кто обрабатывает ссылки? Что за страницы?

Если все запросы через индексный файл, значит обработчик один в нем, иначе ...
Если страницы динамические, то да, ссылки можно хранить в файле/базе. Но если это статические страницы, то не нужно хранения, достаточно удалить сам файл страницы.

Если речь только о 10 фиксированных страницах и они умирают до конца веков человечества, то да, удаляем, иначе лучше добавлять.

А логика такова:

$request = $_SERVER['REQUEST_URI']; - это запрашиваемая страница, а что вы держите в качестве URL только вам и богу известно.

Далее проверяется, в случае фиксированных десяти и ...:

if($link = file('link.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) AND in_array($request, $link)) {

здесь удаление из файла как показано выше, и вывод страницы

} иначе нет вывода

Так что описать надо что к чему, если хотите получить конкретный ответ.
Ответить с цитированием
  #8 (permalink)  
Старый 03.07.2019, 14:38
Интересующийся
Отправить личное сообщение для Chesterfield25 Посмотреть профиль Найти все сообщения от Chesterfield25
 
Регистрация: 03.07.2019
Сообщений: 15

Этот скрипт мне нужен для продвижения своего сайта, более подробно:
У меня есть список форумов на которых можно разместить обратную ссылку на свой сайт, который будет хранится в текстовом файле! Список этих форумов нужно показать на одной странице, да бы направлять людей с биржы заданий на эту страницу что бы они размещали ссылку на мой сайт на этих форумах. Что бы только один человек мог перейти на один форум и разместить там одну ссылку, а не так что я просто в html выведу список форумов, несколько человек перейдёт на один и тот же форум. Мне нужно вывести 150 форумов привести на страницу 150 человек, и получить 150 обратных ссылок!
Ответить с цитированием
  #9 (permalink)  
Старый 03.07.2019, 14:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 11,398

Под каждый запрос, то есть каждого пользователя, создается свое приложение. А это означает, что два и более пользователя могут одновременно получить список ваших форумов. То есть тут могут быть и задержки по тем или иным причинам, и после запроса пользователя А не было еще удаления, он еще не получил страницу, в тоже время другие ее могут просматривать.

И просьба была рассказать о логике работы сайта, а не для чего это нужно.
Ответить с цитированием
  #10 (permalink)  
Старый 03.07.2019, 14:47
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,310

Chesterfield25, так? https://bulkygoldkey--malleys.repl.co/
Если да, то можете посмотреть код https://repl.it/@Malleys/BulkyGoldKey

Три нажатии на ссылку она зачёркивается, чтобы было видно, что больше посещать не надо, а при обновлении страницы она исчезает! Остальные не могут посетить уже посещенную ссылку. (Я так понимаю нужен сокет, чтобы можно было присылать всем остальным посещённые ссылки, чтобы они у них зачёркивались!)

laimas,
Сообщение от laimas
И просьба была рассказать о логике работы сайта
уже три часа назад было, удивительно!

Последний раз редактировалось Malleys, 03.07.2019 в 14:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После добавления контента. Не работает функция. Как сделать рабочей? makarow.dmitry jQuery 0 26.12.2014 00:57
как сделать, что бы див оставался на месте после перехода на следующую страницу? OklickSpb Общие вопросы Javascript 4 15.03.2012 21:02
Как сделать некликабельную ссылку? alexandr_v-vich Events/DOM/Window 16 07.03.2012 16:57
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 00:35
После перехода на IE 9 javascript перестал работать как требуется javascript_pupil Общие вопросы Javascript 2 04.10.2011 11:19