Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/MYSQL]Header problem
zaba12
post 11.04.2006, 13:17:37
Post #1





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


Witam mam problem z header mam taki poczatek kodu glownego indexu administracji oto kod

  1. <? require("../config.php"); ob_start(); ?>
  2.  
  3. <title><? echo $tytul_a; ?></title>


I niestety niedziala mi to oto bład:(

Kod
Warning: Cannot modify header information - headers already sent by (output started at D:\WebServ\httpd-users\cmsik\Administracja\index.php:4) in D:\WebServ\httpd-users\cmsik\Administracja\function\newsy.php on line 111
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 19)
TomASS
post 11.04.2006, 13:35:32
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


A czy przed headerem nie dołączasz pliku ./function/newsy.php ? Bo prawdopodobnie to powoduje konflikt.


--------------------
Go to the top of the page
+Quote Post
zaba12
post 11.04.2006, 13:42:32
Post #3





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


plik jest nizej w
  1. <?php
  2. if ($cmd == 'news'){ include ("function/newsy.php"); newsy(); }
  3. ?>


Ten post edytował zaba12 11.04.2006, 13:43:06
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 13:59:10
Post #4





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


A czy mógłbym grzecznie poprosić o większą ilość kodu?


--------------------
Go to the top of the page
+Quote Post
zaba12
post 11.04.2006, 14:08:59
Post #5





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


Tak oczywiscie zapodam cały kod odrazu

  1. <?php
  2. //Newsy
  3.  elseif ($cmd == '1') {
  4.  
  5. echo 'Aktualnosci';
  6.  
  7. include ("function/newsy.php");
  8.  
  9. echo '<table align="center" width="100%"><tr><td height="20%" bgcolor="#F4F4F4">ID</td><td height="20%" bgcolor="#F4F4F4">Tytuł</td><td height="40%" bgcolor="#F4F4F4">Data</td><td height="20%" bgcolor="#F4F4F4">Dodał</td><td bgcolor="#F4F4F4">Inne</td></tr>';
  10.  
  11. newsy();
  12.  
  13. echo '</table>';
  14.  
  15. echo '<table align="center" width="100%"><tr><td height="20%">ID</td><td height="20%">Tytuł</td><td height="40%">Data</td><td height="20%">Status</td><td height="20%">Dodał</td></tr>';
  16.  
  17. newsy_zg();
  18.  
  19. echo '</table>';
  20.  
  21. dodaj_newsa();
  22.  
  23. } elseif ($cmd == 'd_ok') {
  24.  
  25. include ("function/newsy.php");
  26.  
  27. d_ok();
  28.  
  29. } elseif ($cmd == 'news_del') {
  30.  
  31. include ("function/newsy.php");
  32.  
  33. news_del();
  34.  
  35. } elseif ($cmd == 'e_kom_news') {
  36.  
  37. include ("function/newsy.php");
  38.  
  39. e_kom_news();
  40.  
  41. } elseif ($cmd == 'edit_n') {
  42.  
  43. include ("function/newsy.php");
  44.  
  45. edit_news();
  46.  
  47. } elseif ($cmd == 'edit_n_ok') {
  48.  
  49. include ("function/newsy.php");
  50.  
  51. edit_n_ok();
  52.  
  53. }
  54. ?>


Cała treść sie nie zmiesciła........

Ten post edytował zaba12 11.04.2006, 14:13:32
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 14:16:45
Post #6





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Ja tutaj nie widzę żadnego headera, gdzie on jest i w jakim kontekściequestionmark.gif


--------------------
Go to the top of the page
+Quote Post
zaba12
post 11.04.2006, 14:24:21
Post #7





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


  1. <?php
  2. function edit_n_ok()
  3.  
  4. {
  5.  
  6. global $tytul,$text,$data,$zrodlo,$dodal,$id;
  7. $text = nl2br($text);
  8.  
  9. $query = "UPDATE news SET tytul='$tytul', tresc='$text', zrodlo='$zrodlo' WHERE id=$id";
  10.  
  11.  $result = mysql_query($query);
  12.  
  13. header("location: index.php?cmd=1");
  14.  
  15. }
  16. ?>
oto chodzilo ? i on niedziala header ;/
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 14:29:15
Post #8





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


I nic wczesniej? Mysql nie wywala żadnego błedu?


--------------------
Go to the top of the page
+Quote Post
zaba12
post 11.04.2006, 14:31:08
Post #9





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


no wlasnie mysql nie wywala zadnego bledu all sie zmienia w bazie ale niedziala tylko ten header ;/ tylko w administracji a na www działa ;(
Go to the top of the page
+Quote Post
Seth
post 11.04.2006, 14:39:43
Post #10





Grupa: Przyjaciele php.pl
Postów: 2 335
Pomógł: 6
Dołączył: 7.03.2002

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


Blad, ktory podales oznacza tyle, ze przed wyslaniem headera() do przegladarki, cos wczesniej juz do niej zostalo wyslane.

Headera mozna uzyc tylko wtedy gdy zadne inne dane nie zostaly przeslane do klienta - czyli nic nie wypisujesz przez echo, print itd. itp.

Ten blad mogl tez pwostac przez to, ze wystapil jakis blad, zanim wyslales naglowek. A jak wiadomo bledy (w zaleznosci od konfiguracji) wysylaja na wyjscie (do przegladarki) komunikat - a to wystarczy aby headery nie dzialaly.

Jezeli zamieszalem to pytaj, ogolnie chodzi o to, ze header _nie moze_ byc wyslany po jakichkolwiek danych wyslanych do klienta.
Go to the top of the page
+Quote Post
phobos
post 11.04.2006, 14:52:34
Post #11





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


masz takie cos
  1. <?php
  2. elseif ($cmd == 'edit_n_ok') {
  3.  
  4. include ("function/newsy.php");
  5.  
  6. edit_n_ok();
  7. ?>

a w funkcji masz header()
tylko ze przed funkcja masz inculde i temu masz blad
spróbuj zamienic
  1. <?php
  2. header("location: index.php?cmd=1");
  3. ?>

na takie cos
  1. <?php
  2.  
  3. echo "<script>self.location.href=\" index.php?cmd=1\";</script>";
  4.  
  5. ?>

powinno dzialac
Go to the top of the page
+Quote Post
060156
post 11.04.2006, 15:03:52
Post #12





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

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


Aby unikacj takich problemow,
mo stosowac grupe funkcji zaczynajacych
sie od prefixu ob_... poszukaj
w podreczniku php sa bardzo pomocne
Go to the top of the page
+Quote Post
zaba12
post 11.04.2006, 18:05:40
Post #13





Grupa: Zarejestrowani
Postów: 223
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Gliwice

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


Cytat(phobos @ 2006-04-11 15:52:34)
a w funkcji masz header()
tylko ze przed funkcja masz inculde i temu masz blad
spróbuj zamienic
  1. <?php
  2. header("location: index.php?cmd=1");
  3. ?>

na takie cos
  1. <?php
  2.  
  3. echo "<script>self.location.href=\" index.php?cmd=1\";</script>";
  4.  
  5. ?>

powinno dzialac

To mi pomogło wielkie dzięki.
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 21:37:49
Post #14





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


  1. <?php
  2. echo "<script>self.location.href=\" index.php?cmd=1\";</script>";
  3. ?>

Ale to nie rozwiązuje problemu do końca!
Co będzie jeśli ktoś ma wyłączony JS?
Jaki jest cel w wysyłaniu czegoś do przeglądarki i zaraz po tym wywołanie header.... ? Tak nie powinno się robić i używanie self.location to zły nawyk.


--------------------
Go to the top of the page
+Quote Post
phobos
post 11.04.2006, 22:20:13
Post #15





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


wiem napisalem mu ze ma inlude przed header i dlatego ma blad
ALE popatrz sobie jaki on plik includuje "functions/news.php" tak wiec w tym pliku sa funkcje do ktorych sie odwoluje
i teraz jezeli include da za wywolaniem funkcji to bedzie mial komunikat "call to ....."
a jak da za inculde to ma header error tak wiec js w tym przypadku jest dobre bo on tak to potrzebuje tylko do przekierowanie na inna stronke po dodaniu newsa
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 22:50:05
Post #16





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Wysztko się zgadza, tylko po co wywołuje jakąś funkcję z pliku (lub cały plik) która coś wyświetla, jak zaraz nastąpi przekierowanie? Co będzie jak ktoś ma wyłączony JS? (ponawiam swoje pytania)

To tylko 'kamufluje', zasłania problem.
To tak jaby pozbywać się Notice za pomocą konfiguracji Apache.
Dalej uważam, że powinno poprawić się skrypt a nie używać JS.
Wybór należy do autora wątku...


--------------------
Go to the top of the page
+Quote Post
phobos
post 11.04.2006, 23:04:10
Post #17





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


odpowiedz : jak ktos ma wylaczone js to skrypt js nie zadziala :-)
autor widac woli sobie wkleic plik z funkcjami niz "zasmiecac" sobie nimi plik ktory wykonuje okrelsona akcje w zalerznosci od argumentu "cmd"
teraz pomoglem mu tak a za jakis czas autor jak spojrzy sobie na ten skrypt to bedzie sie sam smial z siebie ze pisal jak noob i poprawi tak wszystko ze bedzie on zajmowal polowe mniej wiersz , ale to za jakis czas a narazie dopiero zdobywa doswiadczenie i dla niego to co teraz zrobil jest na 5, pozniej pewnie usunie ten skrypt js i znowu zastapi go header() i bedzie mu wszystko gralo

Ten post edytował phobos 11.04.2006, 23:07:59
Go to the top of the page
+Quote Post
TomASS
post 11.04.2006, 23:10:58
Post #18





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

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


Cytat
narazie dopiero zdobywa doswiadczenie

Ale właśnie chciałbym kolegę nauczyć jak poprawnie i z dobrymi nawykami pisać tongue.gif

EOT z mojej strony smile.gif


--------------------
Go to the top of the page
+Quote Post
phobos
post 11.04.2006, 23:25:35
Post #19





Grupa: Zarejestrowani
Postów: 91
Pomógł: 0
Dołączył: 7.04.2006

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


jakbysmy chcieli nauczyc go dobrze pisac kod to nie powinno sie mu wpierw wypomniec to ze robi :
  1. <?php
  2. elseif(....)
  3. {
  4. inculde(...)
  5. funkcja();
  6. }
  7. elseif(....)
  8. {
  9. inculde(...)
  10. funkcja();
  11. }
  12. ?>

jak moze wczytac plik z funkcjami tylko raz na poczatku, a zamiast elseif ..... zastosowac switch()

EOT z mojej strony rowniez smile.gif

Ten post edytował phobos 12.04.2006, 01:01:25
Go to the top of the page
+Quote Post
bim2
post 12.04.2006, 12:59:48
Post #20





Grupa: Zarejestrowani
Postów: 1 873
Pomógł: 152
Dołączył: 9.04.2006
Skąd: Berlin

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


Mhh widze ze kolega ma na gorze "enter" ja mialem problemy z header takie ze przed php nie moze byc zadnych liter spacji itp., a echo przed header set_cookie sesion dziala winksmiley.jpg a jak dasz przed <?php spacje to nie dziala smile.gif sprobuj bez entera ;P


--------------------
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 13.08.2025 - 23:40