Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> header php
Mlodycompany
post
Post #1





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


Witam. Wiem, ze ten temat byl poruszany nie raz na forum, ale z przyczyn nie zalezych odemnie domena nie dziala co za tym idzie wyszukiwarka tez nie zbyt funkcjonuje, wiec jestem zmuszony napisac nowy temat.
Wiec:
  1. <?php
  2. header("Location: index.php");
  3. ?>

i wyskakuje taki blad: Warning: Cannot modify header information - headers already sent by.
Od czego to zalezy, bo na innych stronach mi to działa a na tej nie
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
ayeo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Co do wyników wyszukiwarki:
http://forumphp.nq.pl/Dostep_do_wynikow_z_Google_t92193.html biggrin.gif

Co do Twojego pytania to wysyłasz coś na wyjście przed wywołaniem funkcji header(); Upewnij się, że nic nie zostało przekazane do przeglądarki!


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #3





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


dodalem do skryptu echo przed header i nic nie pomoglo
Go to the top of the page
+Quote Post
marcio
post
Post #4





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


header() ba byc przez wszystkim nawet przed <html> a jak nie to daj ob_start() i bedzie dzialac smile.gif


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
l0ud
post
Post #5





Grupa: Zarejestrowani
Postów: 1 387
Pomógł: 273
Dołączył: 18.02.2008

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


Cytat(Mlodycompany @ 19.04.2008, 12:31:04 ) *
dodalem do skryptu echo przed header i nic nie pomoglo



Nie, nie, absolutnie nie ma być żadnego 'echo' przed header.

- sprawdź czy nigdzie niczego wcześniej nie wyświetlasz, czy nie ma gdzieś jakiegoś echo/print
- upewnij się, że plik ze stroną która nie działa zaczyna się OD RAZU od <?php - to musi być w pierwszej jego linii, bez żadnej spacji przed. Po prostu pierwszym znakiem w pliku musi być <
- jeżeli kodujesz w UTF, zapisuj pliki bez BOM.


--------------------
XMPP: l0ud@chrome.pl
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #6





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


sluchajcie jak otwieram strone normalnie(http://domena.pl/plik.php) to mi dziala a jak biore nie normalnie czyli przez moj magiczny system plikowy, ktory includuje $_GET['name'] (http://domena.pl/index.php?name=plik) to jest bład i nie dziala
Go to the top of the page
+Quote Post
ayeo
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Pokaż kod


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #8





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


index.php
  1. <?
  2. include('functions.php');
  3.  
  4. function menu1(){
  5. include('menu1.php');
  6. }
  7. function strona(){
  8. $dir = "./";
  9. if(!($fd = opendir($dir)))
  10. exit("Bład");
  11. if($_GET['name'] == $_GET['name']){
  12. $plik = $_GET['name'].'.php';
  13. while($file = readdir($fd)){
  14.  
  15. //echo $plik;
  16. //echo "<br>";
  17. if($file == $plik){
  18.  
  19. $inc = include(''.$plik.'');
  20.  
  21. }
  22.  
  23. }
  24. if(!$inc && $_GET['name'] != ""){
  25. echo('<table class="tabela2" align="center" cellspacing="0" cellpadding="0">
  26. <tr><th class=naglowek></th></tr>
  27. <tr><th>Ta Strona Nie Znajduje Się Na Serwerze</th></tr></table>');
  28. }
  29. }
  30. $get_name = basename($_GET['name']);
  31. //if($get_name != "" && $get_name == $get_name){
  32.  
  33. //include(''.$get_name.'.php');
  34.  
  35. //}
  36.  
  37. if($_GET['news'] == "" && $_GET['name'] == "" && $_GET['user'] == ""){
  38. include('news.php');
  39. }
  40. if($_GET['user'] == $_GET['user']){
  41. $user = mysql_query("SELECT * FROM `users` WHERE `login` = '".$_GET['user']."'");
  42. $suma = mysql_num_rows($user);
  43. if($suma == 1){
  44. while($row = mysql_fetch_array($user)){
  45. echo('<table class="tabela2" align="center" cellspacing="0" cellpadding="0">
  46. <tr>
  47. <th>'.$row[1].'</th>
  48. </tr>
  49. </table>');
  50. }
  51. }}
  52. if($_GET['news'] == $_GET['news']){
  53. $news1 = mysql_query("SELECT * FROM `newsy` WHERE `dodal` = '".$_GET['news']."'");
  54. while($new1 = mysql_fetch_array($news1)){
  55.  
  56. echo('<table class="tabela2" align="center" cellspacing="0" cellpadding="0"><tr><th><a href="index.php?news='.$_GET['news'].'&id='.$new1[0].'">'.$new1[3].'</a></th><th>'.$new1[2].'</th></tr></table>');
  57. }
  58.  
  59. }
  60. }
  61. function menu2(){
  62. include('menu2.php');
  63. }
  64. ?>
  65. <html>
  66. <head>
  67. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  68. <link rel="stylesheet" href="style.css" type="text/css">
  69. <script type="text/javascript" src="menu.js"></script>
  70. <link rel="Shortcut icon" href="pictures/favicon.ico">
  71. </head>
  72. <table class="tabela" align="center" cellspacing="1" cellpadding="0">
  73. <tr>
  74. <td colspan="3" class="logo" valign="bottom" align="right">
  75.  
  76. </td>
  77. </tr>
  78. <tr>
  79. <th class="menu" valign="top"><?php menu1();?></th>
  80. <th class="page" valign="top"><?php strona();?></th>
  81. <th class="menu" valign="top"><?php menu2();?></th>
  82. </tr>
  83.  
  84. </table>
  85. </html></form>


plik.php
  1. <?php
  2. header("Location: index.php");
  3. ?>
Go to the top of the page
+Quote Post
ayeo
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


To Twój cały plik.php? A nad <? nie ma jakiejś spacji czasem?


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





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


nic nie ma. to jest caly skrypt z pliku
Go to the top of the page
+Quote Post
ayeo
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Jeżeli tak wygląda plik.php :
  1. <?php
  2. header("Location: index.php");
  3. ?>

To musi działać!


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #12





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


ale nie działa. w innym pliku header dziala a tutaj nie
Go to the top of the page
+Quote Post
PawelC
post
Post #13





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


daj na początku pliku:
  1. <?php
  2. ?>

A na końcu:
  1. <?php
  2. ?>

Mi po zastosowaniu tego już nie wyskakiwały takie błędy.

Ten post edytował ExPlOiT 19.04.2008, 12:06:53
Go to the top of the page
+Quote Post
Crozin
post
Post #14





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Funkcje z serii ob_* nie zostały stworzone do rozwiązania tego problemu - one tylko mogą go ominąć (nie rozwiązać)

1) Na początku dołączasz plik functions.php - a co w nim jest?
2) Lekki OT: w kodzie masz jakieś magiczne wynalazki typu: $_GET['name'] == $_GET['name'] - czemu to ma w ogóle służyć?
3) Potem masz jeszcze jakiś kod, który czasami (jeżeli warunki są spełnione) dołącza plik
4) A co robisz potem? A no wyświetasz sobie cały dokument HTML (od lini #65) a w nim, wywołujesz f-cję strona(), która to dopiero wczytuje plik z header() - czy tylko mi się wydaje, ale czy przed wczytaniem pliku do przeglądarki zostaje wysłane już
Kod
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<link rel="stylesheet" href="style.css" type="text/css">
<script type="text/javascript" src="menu.js"></script>
<link rel="Shortcut icon" href="pictures/favicon.ico">
</head>
<table class="tabela" align="center" cellspacing="1" cellpadding="0">
<tr>
    <td colspan="3" class="logo" valign="bottom" align="right">
    
    </td>
</tr>
<tr>
    <th class="menu" valign="top"><?php menu1();?></th>
    <th class="page" valign="top">
?
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #15





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


zadziałało thx
Go to the top of the page
+Quote Post
PawelC
post
Post #16





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Cytat
Funkcje z serii ob_* nie zostały stworzone do rozwiązania tego problemu - one tylko mogą go ominąć (nie rozwiązać)

A dla Ciebie ominięci błędu to nie jest jego rozwiązanie? Dla mnie w pewnym stopniu tak bo błędu niebędzie i aplikacja będzie działała tak jak powinna. Może to nie jest najlepsze rozwiązanie ale skuteczne.

Mlodycompany problemem mogło też być kodowanie mogłeś mieć np. utf-8 zamiast utf-8 bez boom. Ja już nie raz tak miałem. winksmiley.jpg

Ten post edytował ExPlOiT 19.04.2008, 12:29:02
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: 22.08.2025 - 06:10