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... |
|
|
|
![]() |
Post
#2
|
|
|
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 Sonda w PHP 21.06.2003, 14:33:24
dob na samiutkim początku pliku przed jakimkolwiek tek... 21.06.2003, 14:50:50
moonman nie dziala nie dziala nie dziala.. 12.01.2004, 14:39:56
dob W pliku w którym masz to require wstaw
<?php
o... 12.01.2004, 14:45:54
moonman CytatW pliku w którym masz to require wstaw ... 12.01.2004, 14:49:14 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 22:49 |