Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

повторное обращение к скрипту

513
19 октября 2005 года
Yurec
228 / / 21.09.2005
Можно ли в PHP заблокировать доступ, чтобы исключить повторное обращение к скрипту? можно конечно средствами JS запрещать двойное нажатие на сабмит, но хотелось бы чтобы php это улавливал
1.9K
19 октября 2005 года
Cranky
70 / / 05.10.2003
Цитата:
Originally posted by Yurec
Можно ли в PHP заблокировать доступ, чтобы исключить повторное обращение к скрипту? можно конечно средствами JS запрещать двойное нажатие на сабмит, но хотелось бы чтобы php это улавливал



Обычно это делается с помощью редиректа. Тоесть скрипт выполнил некое действие и сообщает пользователю что через 5 секунд он будет переброшен на такую-то страницу. Есть конечно и другие способы.

239
20 октября 2005 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Yurec
Можно ли в PHP заблокировать доступ, чтобы исключить повторное обращение к скрипту? можно конечно средствами JS запрещать двойное нажатие на сабмит, но хотелось бы чтобы php это улавливал

Еще можно яваскриптом проверять запись в cookies о последнем обращении к определенной странице и кликать, если такое было сравнительно давно.

513
20 октября 2005 года
Yurec
228 / / 21.09.2005
Ситуация такая что пользователь может загружать фотку с её описанием, так вот пока она грузится он может кликнуть на сабмит ещё раз и добавиться 2 записи в бд вместо одной.
На данный момент борюсь так:

Код:
<script>
Result=true;
function ConfirmFormData()
{
     if(Result)
    {
        Result=false;
         return(true);
    }
     return(false);
}
</script>

<body>
<form name=f1 ACTION="albm_do_add.php" method=post &#111;&#110;Submit="return ConfirmFormData();">
<input type=submit>



Но хотелось бы бороться как-нить на стороне сервера. Вроде где то встречал как заблокирровать скропт но вот где не помню.
332
20 октября 2005 года
Valiant
416 / / 27.09.2004
Цитата:
Originally posted by Yurec
Ситуация такая что пользователь может загружать фотку с её описанием, так вот пока она грузится он может кликнуть на сабмит ещё раз и добавиться 2 записи в бд вместо одной.



я думаю можно обойтись немного проще
ведь в БД хратяться ссылы на сие картинки, а не сами картинки ???
скрипт который загружает на сервер фоты и должен проверять существует ли такая запись в бд

да ещё вот, в самой функции загрузки надо поставить сначала запись в бд, а уже потом загрузку файла на сервер

я бы сделал так ...

ну или изящно после первого нажатия на сабмит сделать её неактивной

513
20 октября 2005 года
Yurec
228 / / 21.09.2005
Цитата:
Originally posted by Valiant
я думаю можно обойтись немного проще
ведь в БД хратяться ссылы на сие картинки, а не сами картинки ???
скрипт который загружает на сервер фоты и должен проверять существует ли такая запись в бд

да ещё вот, в самой функции загрузки надо поставить сначала запись в бд, а уже потом загрузку файла на сервер

я бы сделал так ...

ну или изящно после первого нажатия на сабмит сделать её неактивной



Суть такая что фоток один пользователь может качать скока угодно. поетому записей может быть тоже скока угодно (они идут через автоинкремент id). нажав два раза подряд кнопку сабмит мы получаем 2 записи в бд.
Поставить загрузку фото до загрузки записи в бд тоже никак-фотки сохраняются с именем= (id записи) + (.jpg), пока не добавлю запись не узнаю какой будет новый id.

513
20 октября 2005 года
Yurec
228 / / 21.09.2005
Но вариант с кнопкой сабмит мне понравился
239
20 октября 2005 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Yurec
Но вариант с кнопкой сабмит мне понравился

Не проще ли во время добавления записи в БД писать сразу и IP адрес клиента. Тогда при каждом следующем клике Вы сможете проверить, кликал ли он уже, и если да, то давать ему старую ссылку.
Тот же вариант возможен с генерацией произвольного кода md5(random()) и записи его одновременно в куки и БД.

513
20 октября 2005 года
Yurec
228 / / 21.09.2005
А если он захочет еще один рисунок загрузить сразу после загрузки первого? Тогда у него ничего не выйдет.... Если я правильно понимаю Ваш варант годится если он должен загружать один рисунок. Мне же хочется дать возможность загрузки любого количества рисунков, исключая случайное дублирование рисунков.
239
20 октября 2005 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by Yurec
А если он захочет еще один рисунок загрузить сразу после загрузки первого? Тогда у него ничего не выйдет.... Если я правильно понимаю Ваш варант годится если он должен загружать один рисунок. Мне же хочется дать возможность загрузки любого количества рисунков, исключая случайное дублирование рисунков.

Что может быть проще, чем держать в куках информацию в виде массива - рисунок-ключ?

4.7K
21 октября 2005 года
Extractor
151 / / 26.08.2005
Цитата:
Originally posted by Dolonet
Что может быть проще, чем держать в куках информацию в виде массива - рисунок-ключ?


проще заблокировать кнопку или использовать не кнопку сабмит, а обычную с повешаной на неё фунцией, которая проверит флаг - загружено/нет

513
21 октября 2005 года
Yurec
228 / / 21.09.2005
Цитата:
Originally posted by Extractor
проще заблокировать кнопку или использовать не кнопку сабмит, а обычную с повешаной на неё фунцией, которая проверит флаг - загружено/нет



Если я не буду использовать сабмит то как я данные формы передам.

4.7K
21 октября 2005 года
Extractor
151 / / 26.08.2005
Цитата:
Originally posted by Yurec
Если я не буду использовать сабмит то как я данные формы передам.


Код:
var flag_send = false;

function CheckSend()
 {
  if (!flag_send)
   {
    flag_send = true;
    form_name.submit();
   }
 }

HTML
<form name="form_name">
<input type="button" &#111;&#110;click="CheckSend()">
513
21 октября 2005 года
Yurec
228 / / 21.09.2005
аналогично я написал выше
4.7K
21 октября 2005 года
Extractor
151 / / 26.08.2005
Цитата:
Originally posted by Yurec
аналогично я написал выше


блин... ну а чё тогда спрашиваешь? я имел в виду не сам процесс сабмит, а кнопку... твой пост провтыкал, не присматривался сори если что

513
21 октября 2005 года
Yurec
228 / / 21.09.2005
Цитата:
Originally posted by Extractor
блин... ну а чё тогда спрашиваешь? я имел в виду не сам процесс сабмит, а кнопку... твой пост провтыкал, не присматривался сори если что



Да нет всё ок. Я теперь зато узнал как засабмитить форму из явы. А вообще все-таки хотелось бы узнать как на сервере это предвидеть, не трогая клиента.

4.7K
21 октября 2005 года
Extractor
151 / / 26.08.2005
Цитата:
Originally posted by Yurec
Да нет всё ок. Я теперь зато узнал как засабмитить форму из явы. А вообще все-таки хотелось бы узнать как на сервере это предвидеть, не трогая клиента.


чес слово, лень выдумывать, зачем мутить когда есть проще способ... можно кстати проверять имя файла (пришедшее от клиента)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог