Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z sondami
agavk
post 18.07.2003, 09:44:54
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.
Go to the top of the page
+Quote Post
zulus
post 18.07.2003, 09:59:08
Post #2





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


mogłabyś podać kod sondy??
Go to the top of the page
+Quote Post
agavk
post 18.07.2003, 11:00:03
Post #3





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&para;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&plusmn; 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>&nbsp;";
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&plusmn; 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
Go to the top of the page
+Quote Post
zulus
post 18.07.2003, 11:27:47
Post #4





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


Cytat
Dzięki za tek szybką odpowiedź
Kod skryptu wygląda tak:

<?
// Ankieta do glosowania
$glosowane = array ('6' => 'rewelacyjna', '5' => 'bardzo dobra', '4' => 'dobra',
'3' => 'przeciętna', '2' => 'zła', '1' => 'beznadziejna');
AGA

przyczyną jest głupia literówka w nazwie tablicy
tablicę nazwałaś $glosowane a do funkcji wyświetlającej podajesz $glosowanie biggrin.gif
zmień nazwę tablicy z $glosowane na $glosowanie i będzie działać (sprawdziłem)
Zamotałem :?:
Go to the top of the page
+Quote Post
agavk
post 18.07.2003, 12:09:52
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 18.07.2003
Skąd: Lublin

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


Zulus
Bardzo dziękuję! Takie głupstwo a tyle kłopotu.
Sama sąda pokazuje się dobrze ale chyba jeszcze coś jest nie tak.
Po zagłosowaniu nie pokazuje wyników (w procentach) jakby nie zliczała
Ale nad tym jeszcze posiedzę.

Jeszcze raz dzięki! biggrin.gif
AGA



Scanner
Przepraszam, ale mam nadzieję, że mi wybaczysz.
Jak zauważyłeś jestem TU nowa. To był pierwszy i ostatni raz :oops:

AGA
Go to the top of the page
+Quote Post
zulus
post 18.07.2003, 12:14:18
Post #6





Grupa: Zarejestrowani
Postów: 225
Pomógł: 18
Dołączył: 30.06.2003
Skąd: Wrocław

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


sprawdź czy masz folder dane w miejscu gdzie masz sam skrypt.
Ja sam uczę się php od 3 tygodni. biggrin.gif
Go to the top of the page
+Quote Post
scanner
post 18.07.2003, 12:32:03
Post #7





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
Przepraszam, ale mam nadzieję, że mi wybaczysz.
Przez wzgląd na płec .. wybaczam smile.gif)
Prosże, wyedytuj swojego posta i didaj w odpowiednich miejscach znaczniki [ php ]. Gdy to zerobisz, usunę z tego watku posty dotyczące tej sprawy.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Omega
post 20.07.2003, 16:04:19
Post #8





Grupa: Zarejestrowani
Postów: 273
Pomógł: 0
Dołączył: 5.05.2003
Skąd: Mazury

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


A od innej płci byś nie przyjął przeprosin?questionmark.gif :wink:


--------------------
<<< EB >>>
Go to the top of the page
+Quote Post
scanner
post 20.07.2003, 18:14:48
Post #9





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Płeć żeńska ma u mnie wyjątkowe preferencje smile.gif


--------------------
scanner.info
Warto pamiętać: KISS, DRY
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: 18.07.2025 - 00:55