Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] header('location: '); Nie działa
oz3h
post
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 3.12.2006

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


Mam taki kod:
  1. <?php
  2. if (isset($_GET['download'])) {
  3. header('location: '.$result['file_link']);
  4. }
  5. ?>


Gdy włączam stronę wyskakuje mi taki błąd: Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\oz3h\file.php:7) in c:\usr\krasnal\www\oz3h\file.php on line 36

Nie wiem o co chodzi, szukałem już o tym na forum lecz nic nie znalazłem co mogło by mi pomóc sad.gif

Ten post edytował oz3h 5.12.2006, 22:16:28
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Szakal
post
Post #2





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 27.05.2004
Skąd: Zielona Góra

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


a użyłeś wcześniej echo czy czegoś w tym stylu questionmark.gif

jak nie to się niesraj tylko daj

  1. <?
  2. echo "<script>window.location.href='".$result['file_link']."';</script>";
  3. ?>


--------------------
Pozdrawiam
(o) Igor Dirbach
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #3





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat
Nie wiem o co chodzi...
Jak to nie wiesz, wszystko jest napisane:
Cytat
Warning: Cannot modify header information - headers already sent...

Nie możesz wysłać nagłówka, jeśli wcześniej na stronie pojawił sie już jakiś tekst (poprzez zwykły kod html, czy też instrukcje php, jak np. echo()). Funkcja header() musi pojawić się, zanim cokolwiek będzie drukowane na ekranie.


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
skowron-line
post
Post #4





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


na poczatku skryptu w 1 lini wpisz

ob_start();

i bedzie po temacie


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
oz3h
post
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 3.12.2006

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


Mam takie coś:
  1. <?php
  2. require_once('globals.php');
  3.  
  4. $query = mysql_query ("SELECT * FROM files WHERE file_id =".$_GET['id']." ORDER BY file_id DESC");
  5. if ($result = mysql_fetch_assoc ($query)) {
  6. $id = (int)$_GET['id'];
  7. $file_id = $result['file_id'];
  8. $file_name = $result['file_name'];
  9. $file_description = $result['file_description'];
  10. $file_description2 = $result['file_description2'];
  11. $file_size = $result['file_size'];
  12. $file_licence = $result['file_licence'];
  13. $file_os = $result['file_os'];
  14. $file_producer = $result['file_producer'];
  15. $file_producer_link = $result['file_producer_link'];
  16. $file_lang = $result['file_lang'];
  17. $file_link = $result['file_link'];
  18. $file_screen = $result['file_screen'];
  19. $file_screen_width = $result['file_screen_width'];
  20. $file_screen_height = $result['file_screen_height'];
  21. $file_date = $result['file_date'];
  22. $file_downloads = $result['file_downloads'];
  23. $download = 'file.php?id='.$file_id.'&download=ok';
  24.  
  25. if (isset($_GET['download'])) {
  26. mysql_query ("UPDATE files SET file_downloads=file_downloads+1 WHERE file_id=$id");
  27. header('location: '.$result['file_link']);
  28. }
  29. ?>


Ten Twój sposób z Javą działa lecz wolał bym zrobić to z header biggrin.gif

Cytat(skowron-line @ 5.12.2006, 22:32:40 ) *
na poczatku skryptu w 1 lini wpisz

ob_start();

i bedzie po temacie


Już tego próbowałem wcześniej i też nie działało.
Go to the top of the page
+Quote Post
acztery
post
Post #6





Grupa: Zarejestrowani
Postów: 945
Pomógł: 7
Dołączył: 15.03.2005
Skąd: katowice

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


ob_start(); ma byc nie na początku tego skrypu ale na początku pliku includowanego pewnie jako 1 nie wiem jak tam to masz... tez sadze ze to najlepsze roziwazanie
Go to the top of the page
+Quote Post
Szakal
post
Post #7





Grupa: Zarejestrowani
Postów: 86
Pomógł: 0
Dołączył: 27.05.2004
Skąd: Zielona Góra

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


ja robie to javom bo te nagłówki mnie tylko wk******* :]


--------------------
Pozdrawiam
(o) Igor Dirbach
Go to the top of the page
+Quote Post
skowron-line
post
Post #8





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


jezeli includujesz ten plik to ob_start() powinno byc na poczatku glownego pliku index.php czy w co tam includujesz a w tym przypadku co pokazales przed error_reporting


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
oz3h
post
Post #9





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 3.12.2006

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


Cytat(skowron-line @ 5.12.2006, 22:42:03 ) *
jezeli includujesz ten plik to ob_start() powinno byc na poczatku glownego pliku index.php czy w co tam includujesz a w tym przypadku co pokazales przed error_reporting


Dokładnie wstawiam to w tym miejscu:
  1. <?php
  2. require_once('globals.php');
  3. ?>

I dalej nie działa ;(
Go to the top of the page
+Quote Post
JaRoPHP
post
Post #10





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Cytat
Dokładnie wstawiam to w tym miejscu...

Jest to początek Twojego pliku, czy może wcześniej masz jakiś kod HTML/XHTML?


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
oz3h
post
Post #11





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 3.12.2006

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


Już sobie z tym poradziłem biggrin.gif Po prostu wstawiłem <?php ob_start(); ?> przed <html>
Dzięki wszystkim za pomoc.
Go to the top of the page
+Quote Post
MavisS2
post
Post #12





Grupa: Zarejestrowani
Postów: 2
Pomógł: 1
Dołączył: 2.02.2012

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


Zdaje sobie sprawę, że temat był poruszany dość dawno, ale podane rozwiązanie mi osobiście się nie podoba i chciałbym dodać swoją radę. Ktoś już wspomniał ze nie można wysłać headera, bo już został wydrukowany tekst na stronie po przez funkcje echo lub inna. Ja chciałbym dodać ze wcale to nie musi być nic drukowane przez php tylko zwykła spacja przed kodem lub na jego końcu. Warto sprawdzić wszystkie pliki includowane do kodu właśnie pod względem spacji/enterow (lub innych białych znaków) przed kodem lub na końcu kodu PHP, czyli przed i po znacznikach <?php i ?>
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 - 00:50