![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Chodzi o sonde z ksiazki Andrzeja Kierzkowskiego "Tworzenie stron www - php 4 - ćwiczenia praktyczne" Oba pliki do dzialania sondy mozna znalezc pod adresesami: http://flapjack.bimber.pl/php/6-12.php http://flapjack.bimber.pl/php/6-12-2html.php Po uruchomieniu pliku 6-12.php otwiera sie sonda, po zaglosowaniu (na obojetnie co) wyskakuja nastepujace bledy: Warning: Cannot modify header information - headers already sent by (output started at /www/users/flapjack/www/php/6-12.php:5) in /www/users/flapjack/www/php/6-12-2html.php on line 9 Warning: Cannot modify header information - headers already sent by (output started at /www/users/flapjack/www/php/6-12.php:5) in /www/users/flapjack/www/php/6-12-2html.php on line 76 Skontaktowalem sie z samym autorem tej sondy. Niestety nie troche pomogl, jednak gdy prosilem zeby wyjasnij prosciej, nic nie odpisuje. Wiec zwracam sie tutaj z pomoca. W jednym z listow odpisal mi cos takiego: "Niestety jak nie ma Pan możliwośći zmienić ustawienia wartości zmiennej w php.ini, to rzeba albo przekonstruować skrypt, żeby nagłówki szły po SetCookie, albo użyć funkcji output bufferingu: przed nagłókiem: ob_start(); na końcu: ob_end_flush();" W php.ini nic zmienic nie moge, bo to zalezy od admina serwera. O co chodzi z tymi naglowkami, prosze o pomoc w wyjasnieniu problemu, co musze zmienic w kodzie w pliku 6-12-2html.php? Jezeli chcecie to moge na forum walnac kod html i php tych plikow. [KaMeLeOn]: Wątek przesunięty z php... -------------------- JAJO GG:1315127
www.acid-drinkers.art.pl || jajo@acid-drinkers.art.pl www.flapjack.vel.pl || jajo@irc.pl |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
na samiutkim początku pliku przed jakimkolwiek tekstem wstaw :
[php:1:c29b9de523]<?php ob_start(); ?>[/php:1:c29b9de523] a zupełnie na samym końcu pliku juz po całym kodzie wstaw: [php:1:c29b9de523]<?php ob_end_flush(); ?>[/php:1:c29b9de523] |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 13 Pomógł: 0 Dołączył: 11.02.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Kod wyglada teraz tak:
[php:1:e13a5bbf3c] <?php ob_start(); ?> <? // Ankieta do zastosowania w serwisie WWW. $glosowanie = array ('6' => 'rewelacyjna', '5' => 'bardzo dobra', '4' => 'dobra', '3' => 'przeciętna', '2' => 'zła', '1' => 'beznadziejna'); function glosowanie ($glosowanie, $quiz) { // funkcja zapamiętuje wynik głosowania danej osoby setcookie ('glosowano', "1"); // pamiętamy, że już głosowano if (file_exists("dane/glosowanie.txt")) { // jest plik z głosowaniem $plik = fopen ("dane/glosowanie.txt", "r+"); flock ($plik, 2); $wiersz = fgets ($plik, 255); $wyniki = split ("|", $wiersz); fseek ($plik, 0); } else { // nie ma pliku, więc go tworzymy $plik = fopen ("dane/glosowanie.txt", "w+"); flock ($plik, 2); } for ($i=0; $i<count($glosowanie);$i++) { // aktualizacja wyników if ($quiz == $i+1) { $wyniki[$i]++; } fputs ($plik, $wyniki[$i]); if ($i<count($glosowanie)-1) {fputs ($plik, '|'); } } flock ($plik, 3); fclose ($plik); } function wyswietlanie ($glosowanie, $glosowano) { // wy¶wietla: jeżeli osoba głosowała - wyniki, jeżeli nie - formularz if ($glosowano) { // wy¶wietlamy wyniki if (file_exists("dane/glosowanie.txt")) { $plik = fopen ("dane/glosowanie.txt", "r"); $wiersz = fgets ($plik, 255); fclose ($plik); $wyniki = split ("|", $wiersz); for ($i=0; $i<count($wyniki); $i++) { $liczbaglosow += $wyniki[$i]; } } print "<P ALIGN=CENTER><B>Ankieta</B></P>n"; print "<P>Oceń moj± stronę:</P><TABLE>n"; for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) { print "<TR><TD>".pos($glosowanie).": </TD><TD>"; if ($liczbaglosow == 0) { $procent = 0; // aby unikn±ć dzielenia przez zero! } else { $procent = ($wyniki[$klucz-1]/$liczbaglosow)*100; } print "<IMG SRC="img/1.gif" WIDTH=$procent HEIGHT="10"></TD>"; print "<TD ALIGN=RIGHT> "; printf ("%0.0f", $procent); print ("%</TD></TR>"); } print "</TABLE>"; } else { // wy¶wietlamy formularz print '<FORM METHOD=GET ACTION="6-12.php">'; print "<P ALIGN=CENTER><B>Ankieta</B></P>n"; print "<P>Oceń moj± stronę:</P><TABLE>n"; for (reset ($glosowanie); $klucz=key($glosowanie); next ($glosowanie)) { print ('<TR><TD><INPUT TYPE=radio NAME=quiz VALUE="'.$klucz. '"> '. pos($glosowanie)."</TD></TR>n"); } print '</TABLE><CENTER><INPUT TYPE=submit VALUE="Głosuj"></CENTER></P>'; print '</FORM>'; } } if ($quiz) { // oddano głos - aktualizacja danych i przekierowanie glosowanie ($glosowanie, $quiz); // "odkomentuj" jeden z poniższych nagłówków // jeżeli używasz w HTML przez SSI lub w innym php przez require: header ("Location: ".$GLOBALS["HTTP_REFERER"]); // jeżeli chcesz używać samodzielnie: // header ("Location: http://".$GLOBALS["SERVER_NAME"]. // $GLOBALS["REDIRECT_URL"]); } else { // formularz lub wyniki wyswietlanie ($glosowanie, $glosowano); } ?> <?php ob_end_flush(); ?> [/php:1:e13a5bbf3c] Ale skrypt dalej nie działa... Ze zmnienionym kodem jest juz pod adresem: http://flapjack.bimber.pl/php/6-12.php -------------------- JAJO GG:1315127
www.acid-drinkers.art.pl || jajo@acid-drinkers.art.pl www.flapjack.vel.pl || jajo@irc.pl |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam dokładnie ten sam problem... niedzialajaca ankieta jest tutaj: http://www.zsi.slupsk.pl/ankieta/6-12.shtml a tutaj kod tejze strony: http://www.zsi.slupsk.pl/ankieta/6-12.shtml.txt oraz kody pozostalych plikow: http://www.zsi.slupsk.pl/ankieta/6-12.php.txt http://www.zsi.slupsk.pl/ankieta/6-12-2html.php.txt wszystkie powyzsze rozwiazania zawiodly... skrypt nie dziala z Kod ob_start(); oraz Kod ob_end_flush();
a o co dokladnie chodzi w: Cytat w wartości zmiennej w php.ini
co trzeba tam zmienic... dodam tylko ze ten skrypcik dzialal mi gdy testwalem go na zainstalowanym php u mnie na kompie... (nie pamietam jak ten 'serwer' sie nazywal, taki prosty do testowania stron pod windows apache+php+mysql+phpmyadmin) jesli ktos moglby sprawdzic dlaczego ten skrypt nie chce dzialac.. ... cos tam z tymi cookies pewnie... |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 30.01.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W pliku w którym masz to require wstaw
[php:1:cc41c3d821]<?php ob_start(); ?>[/php:1:cc41c3d821] na samym początku pliku a na samym końcu : [php:1:cc41c3d821]<?php ob_end_flush(); ?>[/php:1:cc41c3d821] -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 19.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Cytat W pliku w którym masz to require wstaw
[php:1:ee26a6155c]<?php ob_start(); ?>[/php:1:ee26a6155c] na samym początku pliku a na samym końcu : [php:1:ee26a6155c]<?php ob_end_flush(); ?>[/php:1:ee26a6155c] DZIAŁA :!: :!: :!: dzięki piękne... ![]() ![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 08:50 |