Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Location na serwerze
Crash89
post 14.10.2018, 14:57:30
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 14.10.2018, 15:22:05
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 14.10.2018, 15:29:06
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 14.10.2018, 15:50:36
Post #4





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
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 16.10.2018, 12:46:11
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 16.10.2018, 13:00:19
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 16.10.2018, 14:39:39
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 16.10.2018, 14:52:23
Post #8





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 16.10.2018, 14:52:28
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 16.10.2018, 16:26:14
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 16.10.2018, 16:30:20
Post #11





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
trzczy
post 16.10.2018, 16:46:09
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 16.10.2018, 16:50:19
Post #13





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
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


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Crash89
post 16.10.2018, 19:12:44
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 16.10.2018, 19:22:28
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 16.10.2018, 20:59:55
Post #16





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

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


BOM Byte Order Mark?


--------------------
https://studiostawki.com - studio fotograficzne i filmowe - ul. Inflancka 11, Warszawa
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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 17:04