[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Ссылка доступна
littleman
Может кто пример показать небольшой , нужно чтобы юзер подождал 30сек. чтобы ему появилась ссылка на скачивание .
zelenuy
littleman
<!DOCTYPE html>
<html>
<head>
<meta
charset="utf-8">
<title></title>
<script>
function
foo(){
document.getElementsByTagName('a').item(0).style.display = 'block';
}
window.onload = function(){
setTimeout(foo, 6000);
}
</script>
<style>

a{
display: none;
}
</style>
</head>
<body>
<center>
<b><i>
Сейчас появится ссылка</i></b><br>
<a
href="#">Я ссылка</a>
</center>
</body>
</html>
littleman
zelenuy
Спасибо . smile.gif , проверим .
AllesKlar
zelenuy
ссылка уже в html сразу после загрузки страницы. Открывай html, забирай ссылку, скачивай.


нас стороне клиента - settimeout и аяксом запрос на сервер.
на стороне сервера, хранить в базе время начала отсчета, при запросе проверять, настало ли время Ч

_____________
[продано копирайтерам]
zelenuy
Вот еще вариант:
<!DOCTYPE html>
<html>
<head>
<meta
charset="utf-8">
<title></title>
<script>
function
foo(){
var center = document.getElementsByTagName('center').item(0);
var a = document.createElement('a');
a.setAttribute('href', '#');
var text = document.createTextNode('Я ссылка');
a.appendChild(text);
center.appendChild(a);
}
window.onload = function(){
setTimeout(foo, 6000);
}
</script>
<style>
</style>
</head>
<body>
<center>
<b><i>
Сейчас появится ссылка</i></b><br>
</center>
</body>
</html>
AllesKlar
zelenuy
А в чем принципиальная разница между твоими двумя вариантами? Ссылка как была доступна сразу же, так и продолжает быть доступной.

_____________
[продано копирайтерам]
zelenuy
AllesKlar smile.gif
Ну я на ajax-е уж не стал показывать, а то вдруг он его еще не знает да и тут еще бы пришлось на php строчить и тоже не факт что он его знает)
littleman
У меня ссылка такого вида , sit.r/lsdmsadjsndsmdn
Это генерирует PHP md5 , как сделать запрос к переменной php $key ? через 30сек .
AllesKlar
Цитата (AllesKlar @ 20.03.2014 - 11:19)

нас стороне клиента - settimeout и аяксом запрос на сервер.
на стороне сервера, хранить в базе время начала отсчета, при запросе проверять, настало ли время Ч



_____________
[продано копирайтерам]
littleman
AllesKlar
Цитата
хранить в базе время начала отсчета

А нельзя без БД ?
littleman
Сгенерировать какой нить TimeKey и сверять со скриптом PHP отчёт ?
Засунуть ему в куку время , и сверять , так как не особо хочу всё в БД запихивать .
AllesKlar
Тогда уже не в куку, а в сессию.
Куку можно тупо текстовым редактором переписать.

Если речь идет об 30сек. то это другой вопрос - переписывать дольше, чем ждать, но ты же пишешь правильный код, устойчивый к взломам, а не основанный на сиюиминутной ситуации, а завтра хоть трава не расти.

_____________
[продано копирайтерам]
littleman
AllesKlar
Цитата
Если речь идет об 30сек. то это другой вопрос - переписывать дольше, чем ждать, но ты же пишешь правильный код, устойчивый к взломам, а не основанный на сиюиминутной ситуации, а завтра хоть трава не расти.

Всё верно , но если в куке держать зашифрованный ключ ?
littleman
littleman
Я думаю , может капчу поставить , всё равно пока время пройдет на ввод капчи.
Сейчас у меня на локалке , зашёл ссылка сгенерировалась нажимай и качай .
Но пока там будет от силы Юзеров 200-300 по начало , лишний раз в БД запросы не хочу делать , чуть пойже если не забуду скину ссылку на тестовый аплауд .
AllesKlar
littleman
Если твой проект будет пользоваться популярностью, то капчу твою взломают очень быстро.
Если популярности не будет, то и смысла заморачиваться нет.

Цитата
Всё верно , но если в куке держать зашифрованный ключ ?

Зачем тебе вообще кука? Сессии хватит.

Тебе в любом случае придется писать аякс.
Вызов его timeout -> запрос к серверу. Сервер смотрит в сессии, прошло ли время. если пошло, шлет ссылку, если не прошло, шлет лесом.

Всё. Три с половиной строчки кода. Ты уже тут больше настрочил smile.gif

_____________
[продано копирайтерам]
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.