Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> czyszczenie pól formularza
janek123
post 18.09.2006, 17:43:00
Post #1





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


Od jakiegoś czasu borykam się z problemem czyszczenia pól w formularzu, po jego wysłaniu (POST).

Umiem zrobić tak, że po obsłudze danych z formularza, ponownie wyświetlam całą stronę z tym formularzem. Chcę jedank powrócić do strony, bez jej przełądowywania. Podpowiedziano mi, że mogę zrobić tak:

  1. <?php 
  2. ?>
  3.  
  4. <?php include "regulamin.php" ?>
  5.  
  6. <?php 
  7. ?>


to jest cały mój index.php
Niestety nie działa, dostaję komunikat:

Warning: Cannot modify header information - headers already sent by (output started at /home/kiermasz/test.kiermasz.radom.pl/zapisz_ogloszenie_do_bazy.php:4) in /home/kiermasz/test.kiermasz.radom.pl/zapisz_ogloszenie_do_bazy.php on line 39

w linii 39 pliku z komunikatu jest wywoałanie header.

  1. <?php 
  2. zapisz_oferte();
  3. header('location:index.php'); 
  4. ?>


Gdzie może być błąd ?
Go to the top of the page
+Quote Post
loonger
post 18.09.2006, 19:40:34
Post #2





Grupa: Zarejestrowani
Postów: 104
Pomógł: 0
Dołączył: 19.06.2006
Skąd: Wrocław

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


nie wiem czy dobrze kombinuje ale wystarczy przeczytac komunikat biggrin.gif
Cytat
Warning: Cannot modify header information - headers already sent by // czyli prawdopodobnie funkcja header() zostala uzyta na tym samym pliku dwukrotnie.
(output started at /home/kiermasz/test.kiermasz.radom.pl/zapisz_ogloszenie_do_bazy.php:4) // i to nawet mozna sie domyslac ze w wierszu nr 4
in /home/kiermasz/test.kiermasz.radom.pl/zapisz_ogloszenie_do_bazy.php on line 39


pozdrawiam
Go to the top of the page
+Quote Post
milus
post 18.09.2006, 20:10:45
Post #3





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

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


Z manuala

.....
Pamiętaj, że header() może być wywoływana jedynie do momentu nim zostanie wysłana jakakolwiek treść, tzn. znaczniki HTML, puste linie lub wynik pracy php. Jest to bardzo częsty błąd, gdzie skrypty z funkcjami include(), require() itp. mają spacje albo puste linie przed wywołaniem funkcji header(). Problem ten pojawia się również w skryptach opartych na pojedynczym pliku php/HTML.
.....

Wydaje mi się, że błąd może być tu, pozdrawiam.
Go to the top of the page
+Quote Post
janek123
post 18.09.2006, 22:02:01
Post #4





Grupa: Zarejestrowani
Postów: 49
Pomógł: 0
Dołączył: 8.07.2006

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


Dzięki Waszym podpowiedziom rozwiązałem problem.


kod wyglądał tak:
  1. <?php
  2. function zapisz_oferte()
  3.  
  4.  
  5. tu definicja funkcji.
  6.  
  7. ?>
  8.  
  9. <?php zapisz_oferte();
  10. header('location:index.php'); ?>


Były więc dwa bloki <?php ...?>

header wrzuciłem w górny blok, usunąłem puste linie - i poszło.

  1. Bardzo dziękuję.


usunąłem też linie:
  1. <?php 
  2. ?>
  3.  
  4.  
  5. <?php 
  6. ?>
Program działa tak jak powinien, ale nie do końca mi się podoba. Przeładowuje sie cała strona.
Może znacie sposób, by w formularzu, z pliku obsługującego ten formularz, wyczyścić pola formularza, tak by nie przeładowywać całej strony ?

To by było piękne ...

A wszystkie moje próby znalazły odzwierciedlenie tu:
  1. kiermasz.waw.pl


Ten post edytował janek123 18.09.2006, 22:49:46
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: 19.07.2025 - 03:42