Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Closed TopicStart new topic
> [PHP] Niedzialajacy header
thomson89
post
Post #1





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Witam!

dzis mam nietypowy problem. W srodku kodu dalem header z location na jakąs podstronę, po wykonaniu jakiegoś dzialania

dzialanie się wykonuje, ale header nie

u mnie w domu na kompie na wamp server header dziala i w linku po wykonaniu dzialania pokazuje się "index.php?wiadomosc=dzialaj_k(...)" a na serwerze elektroda.eu już ten header nie dziala (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

na poczatku strony mam ustawione ob_start, a kod ładowany jest do indexu za pomocą includa

pomozcie!
Go to the top of the page
+Quote Post
Andaramuxo
post
Post #2





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 18.03.2009

Ostrzeżenie: (10%)
X----


Cytat
W srodku kodu dalem header z location na jakąs podstronę, po wykonaniu jakiegoś dzialania

Jeżeli dałeś po kodzie to się nie wykona, chyba, że dasz header refresh to wtedy tak.

Ten post edytował Andaramuxo 27.06.2009, 12:35:05
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




czekaj czekaj czyli header wykona się po wejściu na stronę bez wykonania kody?
Go to the top of the page
+Quote Post
thomson89
post
Post #4





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Cytat(Andaramuxo @ 27.06.2009, 13:28:42 ) *
Jeżeli dałeś po kodzie to się nie wykona, chyba, że dasz header refresh to wtedy tak.


Zawsze sie wykonywało. Albo na początku kodu, a jak w środku to dawało się ob_start(); na początku. I ty mi teraz mówisz że po kodzie się nie wykona? pfiu...

Ale piotro ma rację. dałem tak jak mówisz i niestety kod który ma się wykonać przed przekierowaniem się nie wykonuje (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
DREEMus
post
Post #5





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


A nie możesz sobie zrobić pliku goto.php?get=jakis_adres (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Chyba będzie prościej (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

I w tym pliku masz możliwość index'owania linków, użycia, itd (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Pomyśl o tym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował DREEMus 27.06.2009, 13:49:19
Go to the top of the page
+Quote Post
thomson89
post
Post #6





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Nie rozumiem.
Go to the top of the page
+Quote Post
DREEMus
post
Post #7





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


url > example.pl/goto.php?url=jakas_strona.pl

plik > goto.php
Kod
//tutaj masz swoje statystyki itp.
// przekierowanie
if( !empty( $_GET ) )
 {
   header( 'Location: http://'.$_GET['url'] );
 }
 else
   {
     header( 'Location: http://example.pl' );
   }


I masz z głowy, bo adres przekazujesz w zmiennej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Może też być POST, wtedy adres będzie ukryty do przeniesienia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

PS. Znowu coś BB się sypie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował DREEMus 27.06.2009, 14:29:45
Go to the top of the page
+Quote Post
thomson89
post
Post #8





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


No zastanowię się, ale pytanie było inne. czemu ten header nie działa? Jak to naprawić?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #9


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a wywala jakiegoś errora? kodowanie pliku masz ok?
Go to the top of the page
+Quote Post
thomson89
post
Post #10





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


kodowanie jest ustawione na utf8 a errorów nie wywala, nawet przy report e-all

trochę kodu
  1. <?php error_reporting(E_ALL); ob_start(); session_start(); ?>
  2. !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
  3. <meta http-equiv="Content-Type" content="text/html charset=utf-8" />
  4. //(...)
  5. </head>
  6. <body>
  7. //(...)
  8. <?php
  9. if(isset($_GET['go'])){
  10.    $go = $_GET['go'];
  11.        if($go=='index')
  12.            @include('materialy/index_ikony.txt');
  13.        if($go=='mysli' && $_GET['kat'] == 'all')
  14.            include('materialy/mysli_all.php');
  15.        if($go=='mysli' && $_GET['kat'] == 'ps')
  16.            include('materialy/mysli_ps.php');
  17.        if($go=='mysli' && $_GET['kat'] == 'sw')
  18.            include('materialy/mysli_sw.php');
  19.        if($go=='mysli' && $_GET['kat'] == 'jp')
  20.            include('materialy/mysli_jp.php');
  21.        if($go=='mysli' && $_GET['kat'] == 'op')
  22.            include('materialy/mysli_op.php');
  23.        if($go=='galery')
  24.            @include('materialy/galeria.html');
  25.        if($go=='sam')
  26.            header('Location:zaprojektuj.html');
  27.    }
  28. else include('materialy/index_ikony.txt');
  29.        
  30. ?>
  31.  
  32. //(...)


no i gdy kliknę link ikony.php?go=sam, to zostaję na tej stronie a przekierowanie nie działa

zaznaczę, iż u mnie na komputerze (wamp serv) wszystko działa poprawnie

Ten post edytował thomson89 27.06.2009, 17:23:12
Go to the top of the page
+Quote Post
#luq
post
Post #11





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Sprawdź czy zadziała (chodzi o dodanie spacji)
  1. <?php
  2. header('Location: zaprojektuj.html');
  3. ?>
Go to the top of the page
+Quote Post
in5ane
post
Post #12





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


Cytat(#luq @ 27.06.2009, 16:38:13 ) *
Sprawdź czy zadziała (chodzi o dodanie spacji)
  1. <?php
  2. header('Location: zaprojektuj.html');
  3. ?>


To nie ma znaczenia, aczkolwiek ładniej wygląda kod.
Go to the top of the page
+Quote Post
#luq
post
Post #13





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Cytat(in5ane @ 27.06.2009, 22:58:55 ) *
To nie ma znaczenia, aczkolwiek ładniej wygląda kod.

Możliwe, bo szczerze nie jestem pewien czy protokół HTTP nie powinien przyjmować tego w takiej formie jak ja napisałem, i można tym manipulować zmieniając jakieś ustawienia serwa, ale to takie moje gdybanie, bo nie widzę innego racjonalnego wytłumaczenia.

Sprawdź jeszcze czy warunek jest w ogóle wykonywalny. Poza tym do takich warunków jak w kodzie stosuj switcha.
Go to the top of the page
+Quote Post
thomson89
post
Post #14





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


warunek jest wykonywany, sprawdziłem 2 razy, przykładowym sprawdzeniem było danie

test.php
  1. <?php
  2. Header('Loaction: test.html');
  3. ?>


i w test.html wielki czerwony napis "work" (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) (not work (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) )


danie spacji po loaction nic nie dało

no a co z tymi ustawieniami serwera mówiłeś?

sami zobaczcie

http://gl-art.domowy.elektroda.eu/test.php

Ten post edytował thomson89 29.06.2009, 21:41:26
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A co mamy zobaczyć...?

Masz w ogóle PHP włączone?
Go to the top of the page
+Quote Post
thomson89
post
Post #16





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Tak, PHP jest włączone. W tym teście dodałem phpinfo jak ktoś nie wierzy.

Macie zobaczyć że strona się nie przekierowuje.

W test.php daję header na http://gl-art.domowy.elektroda.eu/phpinfo.php.

Wejdźcie na http://gl-art.domowy.elektroda.eu/test.php i jak zobaczycie phpinfo to się będę cieszył.

Ten post edytował thomson89 29.06.2009, 22:15:11
Go to the top of the page
+Quote Post
nitek
post
Post #17





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


Cytat(thomson89 @ 29.06.2009, 23:03:49 ) *
Wejdźcie na http://gl-art.domowy.elektroda.eu/test.php i jak zobaczycie phpinfo to się będę cieszył.


No to powodu do radości nie masz - pusta strona..
Go to the top of the page
+Quote Post
erix
post
Post #18





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Pisz do admina, bo my nie pomożemy.
Go to the top of the page
+Quote Post
thomson89
post
Post #19





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


Nigdy nie umiecie pomóc jak pomoc jest naprawde potrzebna!
Go to the top of the page
+Quote Post
zegarek84
post
Post #20





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


dałeś ob_start() ale nie widzę a więc dopiero po skończeniu wykonywania skryptu wykonuje się u Ciebie domyslnie ob_end_flush() - ogólnie nigdy nie możesz wysłać treści zanim nie wyślesz nagłówka - nagłówki zawsze muszą byćć wysłane pierwsze - to kiedy wyślesz treść możesz właśnie buforować ale nie za bardzo to widzę u Ciebie...

np. tam gdzie ja miałem ustaloną wcześniej treść na końcu kodu mam coś takiego co wyczyści treść:
  1. <?php
  2. if (!$modified)
  3. {
  4.    ob_end_clean();
  5.    header('HTTP/1.1 304 Not Modified');
  6. }
  7. header("ETag: $etag");
  8. if (!$modified) exit;
  9.  
  10. ?>
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 26.09.2025 - 19:59