![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Z racji moich studiów i nie tylko zajęłam się ostatnio php i MySQL. Niestety ciągle jeszcze uważam się za żółtodzioba, a dowodem na to jest mój problem. Po pierwszych doświadczeniach (ręczna konfiguracja Apache i php, liczniki, dodawanie stron, nawigacja) doszłam do tematu sond i też wszystko działało prawidłowo. Konieczność korzystania z baz doprowadziła mnie do Krasnala i po nieudanych próbach z FoxSerw byłam zachwycona. Do czasu - kiedy stwierdziłam, że dawniej zrobione sondy po prostu padły. Otrzymuję np komunikat:
Warning: reset(): Passed variable is not an array or object in c:usrsfpwwwmuptextfileincludeclass_poll.php on line 168 Warning: key(): Passed variable is not an array or object in c:usrsfpwwwmuptextfileincludeclass_poll.php on line 168 przez co rozumiem, że podana zmienna nie jest tablicą ani obiektem (?) Nie jest to z pewnością błąd skryptu, bo akurat ten pochodzi z Advanced Poll 2.2, ale występuje też po aktywowaniu moich skryptów. Odinstalowałam Krasnala i powróciłam do poprzedniej konfiguracji ale błąd pozostał. Co gorsze przesłam pliki na profesjonalne konto obsługujące php i też klapa. Pomóżcie. Męczę się z tym juz dwa dni. Pozdrawiam Wszystkich AGA ps. Wszystkie pozostałe elementy i komunikacja z bazą danych działają prawidłowo. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 18.07.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za tek szybką odpowiedź
Kod skryptu wygląda tak: [php:1:75d61f01ff]<?php // Ankieta do glosowania $glosowane = 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 - będzie utworzony $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 wyniki jeżeli osoba głosowała lub formularz jeżeli nie if ($glosowano) { 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).":&nsbp;</td><td>"; if ($liczbaglosow == 0){ $procent = 0; // aby uniknac 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 { print '<form method=get action="sonda.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 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 uzywasz samodzielnie: //header ("Location: http://".$GLOBALS["localhost"]. //$GLOBALS["REDIRECT_URL"]); } else { // formularz lub wyniki wyswietlanie ($glosowanie, $glosowano); } ?>[/php:1:75d61f01ff] Plik jest wstawiony funkcją require w stronę sonda. php. Jest to przykładowa sonda zrobiona na podstawie podręcznika (dla sprawdzenia) i w niej pojawia sie identyczny błąd w wierszu 57. Przesłanie całego Advanced Poll byłoby kłopotliwe. Efekt można zobaczyć pod adresem: http://www.mup.lublin.pl/mup_php/sonda.php a plik z kodem: 6-12-2.php z góry dziękuję AGA |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 23:42 |