повторная отправка формы в firefox

t13

Новичок
повторная отправка формы в firefox

Здравствуйте.
Проблема в слудующем,
есть код
if ($form->validate()) {
if ($_SESSION['flag'] == 0) {
запись в бд
$_SESSION['flag'] = 1;
}
header("location:xxx.php?clientId=$clientId");
}
else {
$_SESSION['flag'] = 0;
}

в эксплорере все нормально работает, повторной отправки не проиходит, попробовал в мозиле, если усиленно тыкать на кнопку, то он делает несколько записей в БД. В чем может быть проблема
 

Astral Man

We Will Rock You
t13
Флаг устанавливай перед началом записи в БД
PHP:
if ($form->validate()) {
if ($_SESSION['flag'] == 0) {
    $_SESSION['flag'] = 1;
    // запись в бд
    header("location:xxx.php?clientId=$clientId");
     }
}
 

kombo

Новичок
дизаблить кнопку submit на onsubmit ява-скриптом в форме.
А с сессиями твой первый вариант не работает от того что быстро жмешь submit.
 

t13

Новичок
а какая разница когда флаг устанавливать, это влиять не будет.
На всякий случай попробовал, неа :(


Автор оригинала: Astral Man
t13
Флаг устанавливай перед началом записи в БД
PHP:
if ($form->validate()) {
if ($_SESSION['flag'] == 0) {
    $_SESSION['flag'] = 1;
    // запись в бд
    header("location:xxx.php?clientId=$clientId");
     }
}
-~{}~ 22.02.05 18:24:

попробовал поставил, не помогает :(

Автор оригинала: Фанат
я бы поставил три знака "равно"...
-~{}~ 22.02.05 18:27:

спасибо за совет, сделаю так, но хотелось бы понять в чем проблема и реализовать средствами пхп

Автор оригинала: kombo
дизаблить кнопку submit на onsubmit ява-скриптом в форме.
А с сессиями твой первый вариант не работает от того что быстро жмешь submit.
 

t13

Новичок
странный ответ, (лишь бы ченить запостить)

если я задаю вопрос почему не работает, значит у меня нет на него ответа.
я не понимаю почему не работает в мозиле, и мне инетерсно узнать почему это так.

я когда писал сообщение надеялся узнать как это исправить а не прочитать сообщение, что мешает мне это сделать.

Автор оригинала: Фанат
Кто тебе мешает это сделать?
 

Фанат

oncle terrible
Команда форума
странный ответ, (лишь бы ченить запостить)
это ошибочное мнение.
ты просто не понял вопроса.
я не спрашивал тебя, знаешь ли ты ответ.
я тебя спросил - что тебе мешает заняться поисками причины.
если я задаю вопрос почему не работает, значит у меня нет на него ответа.
никто не спорит.
Но почему ты так уверен в том, что
а) ты не в состоянии найти ошибку самостоятельно.
б) и самое главное - отчего ты так уверен в том, что кто-то посторонний может найти ошибку за тебя?
когда писал сообщение надеялся узнать как это исправить
пожалуйста. вот тебе целове пособие:
PHP FAQ: Ничего не работает! Что делать???
а не прочитать сообщение, что мешает мне это сделать.
так я думал ты знаешь, как отлаживать свою программу, и у тебя какие-то конкретные проблемы.
 

t13

Новичок
тебе заняться нечем? чего ты мне дал ссылку на тот как искать ошибки, ты бы мне еще пособие по пользованию интернетом кинул.

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

если тебе нечего скзазать, то лучше не пиши, толку от твоих сообщений никакого.


Автор оригинала: Фанат
это ошибочное мнение.
ты просто не понял вопроса.
я не спрашивал тебя, знаешь ли ты ответ.
я тебя спросил - что тебе мешает заняться поисками причины.

никто не спорит.
Но почему ты так уверен в том, что
а) ты не в состоянии найти ошибку самостоятельно.
б) и самое главное - отчего ты так уверен в том, что кто-то посторонний может найти ошибку за тебя?
пожалуйста. вот тебе целове пособие:
PHP FAQ: Ничего не работает! Что делать???

так я думал ты знаешь, как отлаживать свою программу, и у тебя какие-то конкретные проблемы.

знаю и проблему я подробно описал
 

Фанат

oncle terrible
Команда форума
чего ты мне дал ссылку на тот как искать ошибки
так ты ж сам просил!
Ты же не знаешь, как их искать. Вот я тебе и помогаю.
Ведь если бы ты умел - давно бы нашел?
ты бы мне еще пособие по пользованию интернетом кинул.
обязательно. кинул б, если бы счел, что ты воображаешь, что умеешь пользоваться интернетом, но на самом деле не умеешь этого делать.
что касается поиска ошибки, то ее как таковой нет
раз нет - тема закрыта? Отлично!
решение же вопроса на поиск правильного решения занимает время, его колличество ограничено
хрена себе.
Так ты считаешь, что форумы придумали для того, чтобы одни луди нахлебничали и тратили время других людей?
если тебе нечего скзазать, то лучше не пиши, толку от твоих сообщений никакого.
это заблуждение.
Если бы ты не считал себя умнее тех, чьё время собрался тратить, дергая за штаны - "дядь, найди ошибку!", то давно бы решил свои проблемы.
 

t13

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

Автор оригинала: Фанат
так ты ж сам просил!
Ты же не знаешь, как их искать. Вот я тебе и помогаю.
Ведь если бы ты умел - давно бы нашел?

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

раз нет - тема закрыта? Отлично!
хрена себе.
Так ты считаешь, что форумы придумали для того, чтобы одни луди нахлебничали и тратили время других людей?

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

Фанат

oncle terrible
Команда форума
давай.
а я резюмирую.

общее заблуждение начинающих программистов на пхп заключается в том, что они не понимают, что такое ошибка в программе и как ее искать.
Они полагают, что ошибка ищется элементарно - надо только пожелать. и тебе тут же ткнут носом в конерктную строчку и скажут что исправить.

приводя на форуме свои путанные объяснения они искренне полагают, что привели достаточно данных для того, чтобы любой встречный сказал, где ошибка.

Часто незнание сопровождается еще и неоправданным самомнением, которое мешает автору вопроса адекватно воспринимать помощь.

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

Dodger

Guest
Попробуй так:
PHP:
if ($form->validate()) { 
sllep ( 2 );
if ($_SESSION['flag'] == 0) { 
        $_SESSION['flag'] = 1; 
        // запись в бд 
        header("location:xxx.php?clientId=$clientId"); 
        } 
}
 

t13

Новичок
Супер :) Спасибо большое :)). А то разные высоколобые, философствуют только.



Автор оригинала: Dodger
Попробуй так:
PHP:
if ($form->validate()) { 
sllep ( 2 );
if ($_SESSION['flag'] == 0) { 
        $_SESSION['flag'] = 1; 
        // запись в бд 
        header("location:xxx.php?clientId=$clientId"); 
        } 
}
 

SiMM

Новичок
> header("location:xxx.php?clientId=$clientId");
С такими заголовками я бы тоже имел все основания слать тебя лесом. Особенно забавно выглядит то, что несмотря ни на что скрипт продолжает упорно работать (по крайней мере это та мелочь, о которой не следует забывать, приводя код).
 

t13

Новичок
а что не так, если не секрет?

Автор оригинала: SiMM
> header("location:xxx.php?clientId=$clientId");
С такими заголовками я бы тоже имел все основания слать тебя лесом. Особенно забавно выглядит то, что несмотря ни на что скрипт продолжает упорно работать (по крайней мере это та мелочь, о которой не следует забывать, приводя код).
 
Сверху