Po pierwsze - sorki, jezeli zly dzial

Mam dziwaczny i niezwykle denerwujący problem. Buduje wlasnie cms'a opartego o mojego wlasnego frameworka (tez under construction), gdzie ladowanie odpowiednich modulow i akcji odbywa sie przez pasek adresu, np: index.php?module=comments&action=delete&id=19 (module - klasa modułu, action - metoda klasy, id - pozostale dane, tutaj id komentarza do usuniecia). Problem opisze na przykladzie wlasnie usuwania komentarzy.
fragment kodu odpowiedzialny za usuwanie:
<?php
$news_id = $comment_dao -> get_news_id($id);
if($confirm) // $_GET['confirm']
{
debug::display('x', 'plik.txt');
$comment_dao -> delete_comment($id, $news_id); // usuniecie komentarza
$notice = new notice('comment_deleted_successfully'); // stworzenie powiadomienia
$notice -> redirection = $_SERVER['PHP_SELF'].'?module=comments&news='.$news_id;
throw $notice;
} else {
$question = new question('delete_comment'); // stworzenie zapytania
$question -> confirm = $_SERVER['PHP_SELF'].'?module=comments&action=delete&confirm=true&id='.$id;
$question -> resign = $_SERVER['PHP_SELF'].'?module=comments&news='.$news_id;
throw $question;
}
?>
Po uruchomieniu opcji usuwania komentarza wyswietla sie zapytanie ($question). U mnie jest to klasa rozszerzająca klase Exception, ktora wyswietla okienko dialogowe z pytaniem oraz dwoma przyciskami przekierowujacymi: na tak $question -> confirm oraz na nie $question -> resign. Po potwierdzeniu komentarz jest usuwany i pojawia sie kolejne informacja, $notice (zbudowana podobnie jak question).
Problem ktory tutaj wystepuje, imo nie ma wogle prawa bytu

Otóż, podczas usuwania komentarza, jezeli pomiedzy kolejnymi wywolaniami strony odczekam kilka sekund - wszystko jest ok. Komentarz sie usunie, wartosc $news_id zostanie pobrana prawidlowo, wszystkie powiadomienia wyswietla sie poprawnie. Kiedy natomiast przechodze do kolejnych podstron nieco szybciej, powiedzmy <1sek (strona w tym czasie zdązy sie zaladowac do konca), firefox wywołuje ta podstrone kilkakrotnie "niejawnie". Wyglada to tak, ze najpierw wyswietla sie normalnie zapytanie "czy usunac?", po kliknieciu
tak pojawia sie informacja, ze komentarz zostal usuniety. ALE, $news_id jest pusta, poniewaz skrypt nie moze pobrac jej z bazy, gdyz komentarz zostal juz usuniety przy wczesniejszym "niejawnym" wywolaniu strony. Funkcja
debug::display('x', 'plik.txt'); zapisuje do pliku txt litere
x przy kazdym wywolaniu usuwania komentarzy. Przy wolnym klikaniu, w pliku pojawia sie 1 litera, czyli tyle ile powinno byc. Natomiast przy szybkim 2, albo nawet 3. O dziwo problem ten wystepuje u mnie tylko w firefoxie, pod opera dziala bez zarzutu (pod IE nie dziala w ogole, ale to inna sprawa

). Sprobuje jeszcze na starszej wersji FF, oraz reinstalke aktualnej, moze cos da. Tymczasem, jezeli ktos ma jakikolwiek pomysl, dlaczego tak sie dzieje, prosze o pomoc

Moj config:
-windows xp pro sp3
-Apache/2.2.9
-PHP/5.2.6
-Firefox 3.0.5
EDIT:::
Okazalo sie ze problem lezal gdzie indziej

Temat do zamkniecia i sory za smietnik
Ten post edytował wirus15 2.01.2009, 02:18:01