Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]błąd tylko pod IE
robos85
post
Post #1





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


mam stronę 2 językową. mam flasha który ma 2 linki i przełącza na odpowiednie strony: na adres/lang.php?lang=pl oraz adres/lang.php?lang=en

Po kliknięciu pod każdą przeglądarką oprócz IE wszystko jest ok. IE mi pokazuje błąd 404.
Oto treść pliku lang.php:
  1. <?php
  2. require_once('./includes/main_inc.php');
  3.  
  4. $referer=$_SERVER['HTTP_REFERER'];
  5. $arr=explode('/',$referer);
  6. $last=end($arr);
  7. if($_GET['lang']=="en"){
  8.    header("Location: ".BASEURL.'en/'.$last);
  9.    exit;
  10. }
  11. elseif($_GET['lang']=="pl"){
  12.    header("Location: ".BASEURL.$last);
  13.    exit;
  14. }
  15. else{
  16.    header("Location: ".BASEURL.$last);
  17.    exit;
  18. }
  19. ?>

Adres strony to:
Kod
http://mci-test.ogicom.pl
i tam u góry po prawej jest zmiana języków.
Jak to naprawić?

Dziwne jest to, ze jak wklepię linka bezpośrednio w pole adresu a nie poprzez klikanie - strona pojawia się prawidłowo

ma ktoś jakiś pomysł?
Go to the top of the page
+Quote Post
--Matt--
post
Post #2





Goście







  1. <?php
  2. require_once('./includes/main_inc.php');
  3.  
  4. $referer=$_SERVER['HTTP_REFERER'];
  5. $arr=explode('/',$referer);
  6. $last=end($arr);
  7. if($_GET['lang']=="en"){
  8.   header("Location: ".BASEURL.'/en/'.$last);
  9.   exit;
  10. }
  11. elseif($_GET['lang']=="pl"){
  12.   header("Location: ".BASEURL.$last);
  13.   exit;
  14. }
  15. else{
  16.   header("Location: ".BASEURL.$last);
  17.   exit;
  18. }
  19. ?>


Może spróbuj dodać "/" przed "en".
Go to the top of the page
+Quote Post
robos85
post
Post #3





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


nie bo BASEURL ma na końcu "/" :/
I nie mam pojęcia czemu tak się dzieje, że tylko pod IE nie działa:/

jakiś pomysł?
Bo kurcze ręcznie jak spod IE wklepię linka to śmiga, jak zrobię linka w html to działa, ale jak jest link we flashu to już nie działa sad.gifsad.gif
Go to the top of the page
+Quote Post
redelek
post
Post #4





Grupa: Zarejestrowani
Postów: 658
Pomógł: 37
Dołączył: 4.06.2005
Skąd: Wawa

Ostrzeżenie: (0%)
-----


Cytat(robos85 @ 10.10.2008, 08:38:38 ) *
nie bo BASEURL ma na końcu "/" :/
I nie mam pojęcia czemu tak się dzieje, że tylko pod IE nie działa:/

jakiś pomysł?
Bo kurcze ręcznie jak spod IE wklepię linka to śmiga, jak zrobię linka w html to działa, ale jak jest link we flashu to już nie działa sad.gifsad.gif


Ja guru nie jestem ale sprawdź to BASEURL . Po wpisaniu adresu tego który podałeś i wybraniu pl przekierowuje mnie na http://localhost/mci/lang.php?lang=pl. EN faktycznie przenosi na http://mci-test.ogicom.pl/lang.php?lang=en ale nie działa. Może jakieś uprawnienia do pliku.

A to BASEURL to nie powinno być jako $BASEURL ?

U mnie na FF 3.0 IE 7.0 IE 6.0 SP2 i Opera nie działa to sad.gif

Pozdrawiam
Redelek


--------------------
Pozdrawiam
Piotrek R
Go to the top of the page
+Quote Post
robos85
post
Post #5





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


nie, BASEURL jest dobrze bo robione poprzez define();
link jest dobry bo w pasku adresu mi pokazuje poprawny link ale strona nie działa. Jak dam entera tego samego linka w IE to działa, ale jak pisałem, muszę to dać ręcznie :/
Coś nie tak mam może w pliku tym co dałem na początku?

Adresy się we flashu zmieniają bo cały czas coś kombinuję

i dziwne, że pokazuje błąd 404:| skoro plik tam jest i dobrze są zmienne podane.

Może IE ma problem z obsługą$_SERVER['HTTP_REFERER'] w połączeniu z flash?? Bo jak daję echo $_SERVER['HTTP_REFERER']; to mi nie pokazuje nic:|

Ten post edytował robos85 10.10.2008, 12:38:23
Go to the top of the page
+Quote Post
ucho
post
Post #6





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


Patrzyłeś w logach serwera jaki adres próbuje pobrać IE i czy różni się w przypadku normalnego kliknięcia / wpisania adresu z palca?
Go to the top of the page
+Quote Post
robos85
post
Post #7





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


a gdzie to sprawdzić? Tylko mni dziwi, że jak dam zwykły link html to działa, a poprzez flasha nie czyta referera:/
Go to the top of the page
+Quote Post
piaseq
post
Post #8





Grupa: Zarejestrowani
Postów: 161
Pomógł: 25
Dołączył: 6.09.2008
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jeżeli korzystasz z apache to w pliku access.log
Go to the top of the page
+Quote Post
robos85
post
Post #9





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


nie mam do tego dostepu:/
Go to the top of the page
+Quote Post
Maxik
post
Post #10





Grupa: Zarejestrowani
Postów: 726
Pomógł: 129
Dołączył: 10.01.2008
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


Chyba nie masz wyjścia, musisz sprawdzić przeglądarkę przez skrypt i jeśli IE to po prostu przekierować, na php.net można wyczytać, że nie zawsze referer jest ustawiany.


--------------------
Pomogłem? Kliknij przycisk Pomógł pod pomocnym Ci postem.
http://maxik.me/
Go to the top of the page
+Quote Post
robos85
post
Post #11





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


zrobiłem zapis do sesji aktualnej strony i przy wejściu na zmianę języka tym właśnie się kieruję.
I działa:)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 20:00