03.07.2019, 11:14
|
Интересующийся
|
|
Регистрация: 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 указать что бы ссылка открывалась в новой вкладке, и будит это работать?
|
|
03.07.2019, 11:44
|
Интересующийся
|
|
Регистрация: 03.07.2019
Сообщений: 15
|
|
Если можете подскажите как это сделать с помощью php, только что бы ссылки не из базы данных выводить и удалять а из txt файла?
|
|
03.07.2019, 12:44
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
$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 в 12:57.
|
|
03.07.2019, 13:09
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Ничего не выдает.
|
|
03.07.2019, 13:11
|
Интересующийся
|
|
Регистрация: 03.07.2019
Сообщений: 15
|
|
Из текстового файла нужно показать на странице список ссылок в количестве 10 штук. Если по какой то из ссылок перешли то она удаляется из файла и на странице больше не показывается!
|
|
03.07.2019, 13:21
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Вы сперва с логикой разберитесь, а уже затем конкретно. Кто обрабатывает ссылки? Что за страницы?
Если все запросы через индексный файл, значит обработчик один в нем, иначе ...
Если страницы динамические, то да, ссылки можно хранить в файле/базе. Но если это статические страницы, то не нужно хранения, достаточно удалить сам файл страницы.
Если речь только о 10 фиксированных страницах и они умирают до конца веков человечества, то да, удаляем, иначе лучше добавлять.
А логика такова:
$request = $_SERVER['REQUEST_URI']; - это запрашиваемая страница, а что вы держите в качестве URL только вам и богу известно.
Далее проверяется, в случае фиксированных десяти и ...:
if($link = file('link.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) AND in_array($request, $link)) {
здесь удаление из файла как показано выше, и вывод страницы
} иначе нет вывода
Так что описать надо что к чему, если хотите получить конкретный ответ.
|
|
03.07.2019, 13:38
|
Интересующийся
|
|
Регистрация: 03.07.2019
Сообщений: 15
|
|
Этот скрипт мне нужен для продвижения своего сайта, более подробно:
У меня есть список форумов на которых можно разместить обратную ссылку на свой сайт, который будет хранится в текстовом файле! Список этих форумов нужно показать на одной странице, да бы направлять людей с биржы заданий на эту страницу что бы они размещали ссылку на мой сайт на этих форумах. Что бы только один человек мог перейти на один форум и разместить там одну ссылку, а не так что я просто в html выведу список форумов, несколько человек перейдёт на один и тот же форум. Мне нужно вывести 150 форумов привести на страницу 150 человек, и получить 150 обратных ссылок!
|
|
03.07.2019, 13:43
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Под каждый запрос, то есть каждого пользователя, создается свое приложение. А это означает, что два и более пользователя могут одновременно получить список ваших форумов. То есть тут могут быть и задержки по тем или иным причинам, и после запроса пользователя А не было еще удаления, он еще не получил страницу, в тоже время другие ее могут просматривать.
И просьба была рассказать о логике работы сайта, а не для чего это нужно.
|
|
03.07.2019, 13:47
|
|
Профессор
|
|
Регистрация: 20.12.2009
Сообщений: 1,714
|
|
Chesterfield25, так? https://bulkygoldkey--malleys.repl.co/
Если да, то можете посмотреть код https://repl.it/@Malleys/BulkyGoldKey
Три нажатии на ссылку она зачёркивается, чтобы было видно, что больше посещать не надо, а при обновлении страницы она исчезает! Остальные не могут посетить уже посещенную ссылку. (Я так понимаю нужен сокет, чтобы можно было присылать всем остальным посещённые ссылки, чтобы они у них зачёркивались!)
laimas,
Сообщение от laimas
|
И просьба была рассказать о логике работы сайта
|
уже три часа назад было, удивительно!
Последний раз редактировалось Malleys, 03.07.2019 в 13:56.
|
|
|
|