Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: OPERA vs... PHP ?
Forum PHP.pl > Forum > Przedszkole
SET
problem jest następujący:
otóż uruchamiam stronę startową index.php (wszystko jest ok)
daje wstecz i... mam 2 strony (jedna pod drugą -> identyczne)
nie mam pojęcia o co chodzi, firefox i ie nie robią czegoś takiego (tzn. nie ładują podwójnie strony do jednego okienka)

opera 7.23, php 5.0.20

thx
sf
Wzruszyla mnie Twoja odpowiesc winksmiley.jpg

Tylko co to ma wspolnego z php?
Sh4dow
bardzo interesujace pytanie, lecz moja magiczna kule nie widzi zaleznosci miedzy wyswietlanego kodu html a kodem php.
Wiec najpierw proponuje poszukac i poczytac co to jest php. Wiem ze to moze podstawy i nie sa ci potrzebne ale moze rozwiarza twoj problem.
Pozdrawiam Tomi Bi.
SET
napewno nie jest to wina przeglądarki

ten problem jest podobny do tego który wcześniej zakłócił pracę pewnej aplikacji:
1. dodałem produkt do koszyka (np. długopis) -> 1szt.
2. dałem wstecz i dodałem ponownie i co ?

powinno być 2 ($++) a było 3 (dałem odświerz i było 5 -> zamiast zwiększyć o jeden zwiększało o 2... niestety nie udało mi się rozwiązać tego problemu, dlatego zrezygnowałem z postinkrementacji), teraz to się to powtarza dlatego mniemam że to ma związek z php (usunąłem cachowanie i dalej nic), Macie jakiś pomysł ?

update: zależność jest taka że to php generuje kod html niestety o raz za dużo sad.gif
Sh4dow
teraz to mowisz do rzeczy, a nie farmazony.
Koszyk zazwyczaj jest oparty o sesje. Wiec wychodzi ze jesli dodales 1 pozniej dodales 2 a pozniej ponowiles poprzez 'refresh' kolejne 2 produkty. w sumie 5. Ja bledu nie widze.
SET
to jest specjalny kod sesji:
  1. <?php
  2. function wybierz_sesje()
  3. {
  4. if(isset($_COOKIE['autologin']))
  5. {
  6. if($_COOKIE['autologin'] == 0) 
  7. {
  8. setcookie ('autologin', 0);
  9. session_name('SUiP');
  10. }
  11. else
  12. {
  13. setcookie ('autologin', 1, time() +200000 * 2000);
  14. ini_set('session.gc_maxlifetime', 200000 * 2000);
  15. ini_set('session.cookie_lifetime', 200000 * 2000);
  16. session_name('SUiP');
  17. }
  18. }
  19. else
  20.  
  21. setcookie ('autologin', 0);
  22. session_name('SUiP');
  23. }
  24. ?>

błąd jest bo wcześniej jak używałem tylko session_start() to działało poprawnie tzn. dodało raz (1szt.), później jak chciałem dodać ten sam produkt (wykrywało że istnieje już w koszyku) i dodawało 1szt (czyli 2szt) po odświerzeniu było 3szt
PMadej
przecież to jest proste jak budowa cepa bojowego

zamiast nadpisać to co jest w sesji dodajesz jeden produkt spośród tych które są zapisane w sesji i drugi wybierając go do dodania. dlatego dodaje Ci dwa produkty zamiast jednego

Przynajmniej moja skromna osoba tak to widzi tongue.gif
SET
nie o to chodzi, wytłumacze to jeszcze raz:
1. dodałem przedmiot x1 (1szt.)
2. znowu dodałem przedmiot x1 i zamiast 2szt. były 3szt.
3. dałem odświerz i było 5szt. (i tak co dwa w górę)

ps. nie dodawałem drugiego (nowego) produktu.

moim zdaniem są 2 sesje ($_SESSION['koszyk']) i funkcja do każdej dodaje 1 szt (przy odczytaniu są 2 szt) ale to chyba odpada bo na wstępie powinny być 2 szt a nie 1 szt

a co do strony ma Ktoś jakieś logiczne wytłumaczenie ?

thx
Kuziu
dodaj do każdego linku
  1. ....&rand=<? rand(1,10000); ?>


i każda strona będzie ładowana od nowa ... niebezeie problemów z chachowaniem na żadnej przeglądarce
SET
  1. <?php
  2. if(...)
  3. {
  4. ...
  5. }
  6. else
  7. {
  8. wyswietl_panel_forum();
  9. }
  10. ?>
ta instrukcja wykonywana była podwójnie (nie wiem dlaczego -> tylko na operze), rozwiązałem to tak:
  1. <?php
  2. if(...)
  3. {
  4. ...
  5. }
  6. else
  7. {
  8. wyswietl_panel_forum();
  9. }
  10. ?>

teraz działa poprawnie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.