Как сделать ссылку не активной после перехода?
Подскажите как сделать ссылку не активной после перехода одного человека?
Скажем у меня на странице есть список ссылок, мне нужно сделать что по одной ссылке могли перейти только один раз, после чего она стала не активной для всех остальных. То есть если я перейду по одной из ссылок, то все кто посетит эту страницу после меня не смогут переходить по этой ссылке! Вот на одном из сайтов нашел информацию 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 указать что бы ссылка открывалась в новой вкладке, и будит это работать? |
Если можете подскажите как это сделать с помощью php, только что бы ссылки не из базы данных выводить и удалять а из txt файла?
|
$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. Только разумнее не удалять, а добавлять. |
Посмотрите что выдаёт на странице http://b99437dx.beget.tech/
|
Ничего не выдает.
|
Из текстового файла нужно показать на странице список ссылок в количестве 10 штук. Если по какой то из ссылок перешли то она удаляется из файла и на странице больше не показывается!
|
Вы сперва с логикой разберитесь, а уже затем конкретно. Кто обрабатывает ссылки? Что за страницы?
Если все запросы через индексный файл, значит обработчик один в нем, иначе ... Если страницы динамические, то да, ссылки можно хранить в файле/базе. Но если это статические страницы, то не нужно хранения, достаточно удалить сам файл страницы. Если речь только о 10 фиксированных страницах и они умирают до конца веков человечества, то да, удаляем, иначе лучше добавлять. А логика такова: $request = $_SERVER['REQUEST_URI']; - это запрашиваемая страница, а что вы держите в качестве URL только вам и богу известно. Далее проверяется, в случае фиксированных десяти и ...: if($link = file('link.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) AND in_array($request, $link)) { здесь удаление из файла как показано выше, и вывод страницы } иначе нет вывода Так что описать надо что к чему, если хотите получить конкретный ответ. |
Этот скрипт мне нужен для продвижения своего сайта, более подробно:
У меня есть список форумов на которых можно разместить обратную ссылку на свой сайт, который будет хранится в текстовом файле! Список этих форумов нужно показать на одной странице, да бы направлять людей с биржы заданий на эту страницу что бы они размещали ссылку на мой сайт на этих форумах. Что бы только один человек мог перейти на один форум и разместить там одну ссылку, а не так что я просто в html выведу список форумов, несколько человек перейдёт на один и тот же форум. Мне нужно вывести 150 форумов привести на страницу 150 человек, и получить 150 обратных ссылок! |
Под каждый запрос, то есть каждого пользователя, создается свое приложение. А это означает, что два и более пользователя могут одновременно получить список ваших форумов. То есть тут могут быть и задержки по тем или иным причинам, и после запроса пользователя А не было еще удаления, он еще не получил страницу, в тоже время другие ее могут просматривать.
И просьба была рассказать о логике работы сайта, а не для чего это нужно. |
Chesterfield25, так? https://bulkygoldkey--malleys.repl.co/
Если да, то можете посмотреть код https://repl.it/@Malleys/BulkyGoldKey Три нажатии на ссылку она зачёркивается, чтобы было видно, что больше посещать не надо, а при обновлении страницы она исчезает! Остальные не могут посетить уже посещенную ссылку. (Я так понимаю нужен сокет, чтобы можно было присылать всем остальным посещённые ссылки, чтобы они у них зачёркивались!) laimas, Цитата:
|
На страницу по адресу site.ru/sulki пришли два человека, скажем ты и я. Оба мы увидели список из 10 кликабельных ссылок. Я нажал по первой она открылась в новой вкладке, у тебя и у меня она пропала со страницы. Ты нажал по второй ссылке она открылась в новой вкладке, у тебя и у меня она пропала со страницы. Следующий кто зайдёт на страницу увидет уже 8 из 10 ссылок, ну вообщем и так далее. Если кликабельными ссылки из текстового фала нельзя вытащить то с помощью базы данных
|
Chesterfield25, оно именно так и работает (только у меня не пропала со страницы поскольку для этого нужен сокет) например я нажал xmonitoring ru и оно уже не перешло!
|
Хух. Именно то что нужно. Только осталось сделать обновление страницы без перезагрузки. Спасибо!
|
Что такое сокет?
|
Цитата:
Я так понимаю, для этого нужен сокет, чтобы можно было присылать всем остальным посещённые ссылки, чтобы они у них зачёркивались или удалялись! |
В мозиле перешел по первой ссылке https://ibb.co/jk2j7Z9
Вернулся в хром без перезагрузки страницы нажал по той же ссылке https://ibb.co/cr1Rpd0 |
Цитата:
|
Знаю что на jquery есть такая возможность
|
Chesterfield25,
файл, должен блокироваться, иначе будет происходить то, о чем ранее говорилось. Если это выполняется, а также в логике работы сайта нет "дыр" (какова она у вас до сих пор неизвестно), то все будет работать простым скриптом, ничего более и не потребуется. |
laimas, Что? PHP функции $handle = fopen("links.json") и fclose($handle) этого не делают? А зачем тогда этот fclose($handle) нужен?
|
Читайте документацию.
|
Добрый день. я очень благодарен вам за помощь но подскажите возможно ли в том скрипте кроме ссылок вывести текст, над каждой ссылкой?
|
Цитата:
UPD Вообще вы можете менять разметку генерируемой ссылки в app.js. Вот для примера добавил заголовок над каждой ссылкой. Пример: https://bulkygoldkey--malleys.repl.co/ Код: https://repl.it/@Malleys/BulkyGoldKey |
Мне нужно добавить заголовок как в примере, описание и bb код подписи для форума:
[url='http://xmonitoring.ru']мониторинг инвест проектов[/url]Именно код который можно скопировать, в принципе как и текст. |
Текст я сам пишу, для каждой ссылки своё название описание и код
|
Единственный простой вариант решения который для меня доступен это изначально направлять не на внешний ресурс а на внутреннею страницу на которой уже будет текст, описание и ссылка на внешний ресурс
|
Добрый вечер. Подскажите, можно как то в предоставленном примере, запретить нажатие более чем по одной ссылке раз в 24 часа ну или другое время?
|
Часовой пояс GMT +3, время: 12:11. |