Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: header php
Forum PHP.pl > Forum > PHP
Mlodycompany
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
ayeo
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!
Mlodycompany
dodalem do skryptu echo przed header i nic nie pomoglo
marcio
header() ba byc przez wszystkim nawet przed <html> a jak nie to daj ob_start() i bedzie dzialac smile.gif
l0ud
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.
Mlodycompany
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
ayeo
Pokaż kod
Mlodycompany
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. ?>
ayeo
To Twój cały plik.php? A nad <? nie ma jakiejś spacji czasem?
Mlodycompany
nic nie ma. to jest caly skrypt z pliku
ayeo
Jeżeli tak wygląda plik.php :
  1. <?php
  2. header("Location: index.php");
  3. ?>

To musi działać!
Mlodycompany
ale nie działa. w innym pliku header dziala a tutaj nie
PawelC
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.
Crozin
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">
?
Mlodycompany
zadziałało thx
PawelC
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.