![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Jestem nowym użytkownikiem. Przeszukałem trochę forum, ale nie znalazłem wątków dotyczących mojego problemu, więc zakładam nowy. Mam kod
Po wyświetleniu $sql instrukcją echo wygląda ona poprawnie, i wysłana do bazy przez phpMyAdmina daje efekt o jaki mi chodzi, tj. zwiększa pole 'views' o 1. Kiedy jednak wykona ją skrypt PHP przez mysql_query, w bazie pojawia się wartość większa od poprzedniej o 2, jak gdyby napisane było views=views+2. Przeanalizowałem dokładnie cały kod, i nigdzie nie inkrementuję nic dwa razy. Instrukcja w phpMyAdmin działa poprawnie. Dla eksperymentu spróbowałem dać w kodzie views=views+2. Ku mojemu zaskoczeniu, wartość zwiększała się wtedy o 4. Czy ktoś orientuje się o co chodzi? Czy to wina PHP czy MySQL czy czegoś jeszcze innego? Pozdrawiam i dziękuję. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 729 Pomógł: 346 Dołączył: 4.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Daj die() zaraz za tym zapytaniem, i wykonaj, czy wykonało się dwa razy? Nie masz żadnego powtórzenia na 100%? Jak nie pomoże to zrób plik favicon.ico (może być pusty) w katalogu z plikiem.
|
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Napiszę ci to samo co w tym temacie:
http://forum.php.pl/index.php?showtopic=18...mp;#entry918556 Odpowiedź jest banalnie prosta. Wykonujesz kod 2 razy. Albo strona ci się odswieza, albo kupa innych rzeczy powodujących wykonanie tego kodu dwa razy. Były dziesiatki takich "problemów" na forum, ludzie zawsze się zastrzegali że robią to tylko raz, ale zawsze się okazywalo, że robią to jednak dwa razy, zazwyczaj nieswiadomie, posrednio z jakiegoś innego powodu. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 568 Pomógł: 192 Dołączył: 7.03.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nospor mówi prawdę, głupi system szukania pliku config powodował że dodawało mi+ 2 zamiast 1 a może nawet 10 razy!
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Miło widzieć tyle podpowiedzi z rana (IMG:style_emoticons/default/wink.gif)
Utworzyłem plik favicon, bo faktycznie odwołanie do niego znajduje się w pliku szablonu, ale że szablon jeszcze nie jest skończony, plik favicon.ico nie istniał fizycznie. Nic to nie zmieniło. Próbowałem też sprawdzać to funkcją die(). Postawienie jej przed mysql_query($sql) powoduje że zapytanie nie jest wykonywane i wartość w bazie pozostaje taka sama przy odświeżaniu strony. Postawienie jej za mysql_query($sql) powoduje inkrementację +2, zamiast +1. Przeanalizowałem też ponownie kod skryptu, nie znalazłem powtórzeń. Poza tym widać że ich nie ma po tym jak to się zachowuje przy kombinacjach z die()... Zapoznałem się też z wysłanym wątkiem. Jestem nowicjuszem raczej i nie używałem jeszcze PDO, i nie wiele zrozumiałem z tamtych odpowiedzi... Używam serwera Apache i MySQLa w XAMPP dla Windows, i nie potrafię znaleźć w nim .htaccess (IMG:style_emoticons/default/tongue.gif) Spróbuje wieczorkiem zrobić coś pod linuxem Ubuntu, tam się czuję nieco swobodniej. Dziękuję wszystkim za pomoc (IMG:style_emoticons/default/wink.gif) Witam ponownie. Znalazłem winowajcę (IMG:style_emoticons/default/wink.gif) A jest nim źle skonfigurowany Firefox dla Windows, w wersji 7.0.1. W wersji dla Linucha nie dzieją się żadne cuda. Opera, Safari i Chrome dla Windows też dają pozytywne rezultaty. Zaktualizuję się do wersji FF 8 i zobaczę co to da, ewentualnie popatrzę po konfiguracji. Byłem pewny że nie powtarzam kodu (IMG:style_emoticons/default/wink.gif) Zresztą, przecież samo zapytanie do bazy nie ma prawa zwiększać o dwa jeśli jest sformułowane w taki sposób (views=views+1). Problem rozwiązany. Dziękuję wszystkim i pozdrawiam (IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Byłem pewny że nie powtarzam kodu A ja ci napisałem ze wykonujesz go dwa razy a nie powtrzasz. Drobna różnica.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, ale oprócz ciebie inne osoby napisały w tym temacie. Lobopol pytał czy nie mam powtórzenia na 100%.
Gdyby ktoś wpadł na pomysł co zrobić z tym FF żeby tego tak nie odświeżał to byłbym wdzięczny, bo w about:config jest tyle opcji że głowa mała. No i dalej nie wiem czy to czasem nie wina kodu, że strona otwiera się "dwa razy"... W innych przeglądarkach jest normalnie. |
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat czy to czasem nie wina kodu, że strona otwiera się "dwa razy".. Na pewno nie tego kodu co tu nam pokazałeś.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 798 Pomógł: 307 Dołączył: 13.05.2009 Skąd: Gubin/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może używasz w ff jakąś wtyczkę, która ci jeszcze raz wczytuje stronę na której aktualnie jesteś? Wtyczek do ff jest tyle że ciężko powiedzieć która to jest akurat, najlepiej wyłącz wszystkie, i pojedynczo je włączaj, sprawdzając po każdym włączeniu wtyczki swoją stronę czy dodają ci się 2 czy 1.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 30.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Reszta jest banalna... Nie wysyłam żadnych nagłówków, nie robię przekierowań ani innych cudów. Zwyczajnie chcę zwiększyć wartość o jedyneczkę (IMG:style_emoticons/default/tongue.gif)
Wyłączyłem wszystkie dodatki i wtyczki w FF, ale nie pomogło. Ale podczas otwierania strony w konsoli WWW widać następujący wpis: [19:23:39.377] GET http://127.0.0.1/aftg/ [HTTP/1.1 200 OK 31ms] [19:23:39.550] GET http://127.0.0.1/aftg/ [HTTP/1.1 200 OK 15ms] A po wycięciu w pliku szablonu fragmentu:
jedynie: [19:30:07.870] GET http://127.0.0.1/afterglow/ [HTTP/1.1 200 OK 32ms] i strona znów działa poprawnie (IMG:style_emoticons/default/smile.gif) Już wiadomo, co powodowało podwójne wykonanie kodu - brak instrukcji echo (IMG:style_emoticons/default/biggrin.gif) Dzięki wszystkim. Ten post edytował kamil17289 5.12.2011, 19:50:37 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.09.2025 - 16:46 |