Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Closed TopicStart new topic
> [PHP] Niedzialajacy header
thomson89
post 27.06.2009, 12:26:20
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 sad.gif

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

pomozcie!


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
Andaramuxo
post 27.06.2009, 12:28:42
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 27.06.2009, 12:30:32
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 27.06.2009, 12:54:21
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 sad.gif


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
DREEMus
post 27.06.2009, 13:45:51
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 questionmark.gif
Chyba będzie prościej winksmiley.jpg

I w tym pliku masz możliwość index'owania linków, użycia, itd smile.gif
Pomyśl o tym smile.gif

Ten post edytował DREEMus 27.06.2009, 13:49:19


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
thomson89
post 27.06.2009, 14:12:43
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.


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
DREEMus
post 27.06.2009, 14:28:17
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 smile.gif
Może też być POST, wtedy adres będzie ukryty do przeniesienia smile.gif

PS. Znowu coś BB się sypie sad.gif

Ten post edytował DREEMus 27.06.2009, 14:29:45


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
thomson89
post 27.06.2009, 15:22:53
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ć?


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
piotrooo89
post 27.06.2009, 15:25:34
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 27.06.2009, 17:13:48
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


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
#luq
post 27.06.2009, 17:38:13
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. ?>


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
in5ane
post 27.06.2009, 21:58:55
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.


--------------------
> > > Tworzenie stron < < <
Go to the top of the page
+Quote Post
#luq
post 27.06.2009, 22:07:19
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.


--------------------
Moja gra - scraby.io
Go to the top of the page
+Quote Post
thomson89
post 29.06.2009, 21:30:56
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" sad.gif (not work 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


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
erix
post 29.06.2009, 21:59:49
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?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thomson89
post 29.06.2009, 22:03:49
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


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
nitek
post 29.06.2009, 22:50:20
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 30.06.2009, 11:32:45
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.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thomson89
post 1.07.2009, 09:26:35
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!


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
zegarek84
post 1.07.2009, 10:00:41
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. ?>


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 17:15