Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Location na serwerze
Crash89
post
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Jak na serwerze skorzystać z funkcji header

Mam prostą stronę gdzie chce skorzystać z funkcji header gdzie chcę przekierować stronę na inną stronę w projekcie:

lokalnie działa coś takiego:

  1. header("Location: index_en.php")


natomiast na serwerze próbowałem róznych sposobów łącznie z __DIR__
takie coś zwraca nulla:
  1. header("Location: " . __DIR__ . "index_en.php")


pozdrawiam

Ten post edytował Crash89 14.10.2018, 14:58:06
Go to the top of the page
+Quote Post
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Co to znaczy nie dzała.
Go to the top of the page
+Quote Post
Crash89
post
Post #3





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Cytat(Pyton_000 @ 14.10.2018, 16:22:05 ) *
Co to znaczy nie dzała.


Nie rozumiem?
Nie mam nigdzie tak napisane w poście
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Cytat
Return Values
No value is returned


Także na pewno nie zwraca null. Sprawdź logi i wklej komunikat chociaż wiadomo że wysyłasz coś wcześniej.
Go to the top of the page
+Quote Post
Crash89
post
Post #5





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Cytat(viking @ 14.10.2018, 16:50:36 ) *
Także na pewno nie zwraca null. Sprawdź logi i wklej komunikat chociaż wiadomo że wysyłasz coś wcześniej.


Strona jest na serwerze nazwa.pl tam logi sa takie:

  1. [Tue Oct 16 12:16:31.367998 2018] [proxy_fcgi:error] [pid 22:tid 139808343758592] [client 193.106.30.98:60760] AH01071: Got error 'Primary script unknown\n'


A to jest cały kod z którego korzystam(na serwerze jest PHP 5.6):

  1. <?php
  2. if (explode(';',explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE'])[1])[0] == 'pl' || $_GET['language'] == 'pl') {
  3.  
  4. } else {
  5. header("Location: index_en.php");
  6. }
  7.  
  8.  
  9. ?>


Ten post edytował Crash89 16.10.2018, 12:47:53
Go to the top of the page
+Quote Post
trzczy
post
Post #6





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Ten error występuje, jak nie ma pliku index.php albo jest w niewłaściwej lokalizacji, czyli nie ma go w webroot. Albo w apache wartość index nie jest ustalona na index.php

Zrób test z najprostszym kodem:

  1. hello world
Go to the top of the page
+Quote Post
Crash89
post
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Cytat(trzczy @ 16.10.2018, 14:00:19 ) *
Ten error występuje, jak nie ma pliku index.php albo jest w niewłaściwej lokalizacji, czyli nie ma go w webroot. Albo w apache wartość index nie jest ustalona na index.php

Zrób test z najprostszym kodem:

  1. hello world


Dałem
  1. echo "hello world"; die();

i to działa, działa cały kod php tylko header("Location:") nie działa.

Cytat(Crash89 @ 16.10.2018, 15:09:08 ) *
Dałem
  1. echo "hello world"; die();

i to działa, działa cały kod php tylko header("Location:") nie działa.


Narazie dodałem coś takiego zamiast header i to działa
echo "<script type='text/javascript'>window.location.href = 'index.php?language=pl';</script>";
die();

ale wolałbym użyć header zamiast javascriptu.
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Skoro header ci nie dziala znaczy ze ze przed header leci jakis tekst do przegladarki. Wszystko bys widzial jak na dloni jakbys wlaczyc wyswietlanie WSZYSTKICH bledow
Go to the top of the page
+Quote Post
Pyton_000
post
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Raz dajesz

Kod
Location: index_en.php

a raz

Kod
'index.php?language=pl'

Go to the top of the page
+Quote Post
Crash89
post
Post #10





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Cytat(Pyton_000 @ 16.10.2018, 15:52:28 ) *
Raz dajesz

Kod
Location: index_en.php

a raz

Kod
'index.php?language=pl'


To jest chyba skopiowane z pliku index_en.php

Taki mam komunikat:
  1. Warning: Cannot modify header information - headers already sent by (output started at /home/p/ftp/F/index.php:2) in /home/p/ftp/F/index.php on line 11


Ten post edytował Crash89 16.10.2018, 19:09:07
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




nom czyli jak mowilem: przed headerem wysylasz jakis tekst do przegladarki i masz nawet wyraznie napisane gdzie:
index.php linia 2
Go to the top of the page
+Quote Post
trzczy
post
Post #12





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


Czyli to nieprawda, że lokalnie działa, jak autor napisał w 1. poście
Go to the top of the page
+Quote Post
nospor
post
Post #13





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




@trzczy ale czemu nie? Lokalnie moze dzialac bo lokalnie ma ustawipone buforowanie na poziomie konfiguracji php a na serwerze tego nie ma temu sie wykrzacza
Go to the top of the page
+Quote Post
Crash89
post
Post #14





Grupa: Zarejestrowani
Postów: 191
Pomógł: 7
Dołączył: 3.04.2013

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


Cytat(nospor @ 16.10.2018, 17:30:20 ) *
nom czyli jak mowilem: przed headerem wysylasz jakis tekst do przegladarki i masz nawet wyraznie napisane gdzie:
index.php linia 2


W 2 linijce mam tylko
  1. <?php
potem lecą ify i na podstawie tych ifów jest header Location
nie ma nic więcej w kodzie.
Gdzieś wyczytałem że trzeba dodać ob_start() na początku skryptu, ale to nic nie zmienia.
Go to the top of the page
+Quote Post
trzczy
post
Post #15





Grupa: Zarejestrowani
Postów: 460
Pomógł: 49
Dołączył: 5.06.2011

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


A co masz w 1. linijce?
Go to the top of the page
+Quote Post
StrefaPi
post
Post #16





Grupa: Zarejestrowani
Postów: 235
Pomógł: 50
Dołączył: 2.03.2013

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


BOM Byte Order Mark?
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 8.10.2025 - 01:08