YGREG - CGI_PL
HOSTING
I
PHP
I
XML
I
CGI
I
HTML
I
FORUM
I
INNE
Dodaj stronę do ulubionych
Chcesz wiedzieć, kiedy pojawia się coś nowego? Wpisz swój e-mail:
Hosting wirtualny
Informacje
Cennik
Jazda próbna
PHP
Kurs PHP
Wprowadzenie
Część 1
Część 2
Część 3
Część 4
Część 5
Część 6
Cookies
Klasy w PHP
Parametry w adresie
Wyrażenia regularne
Upload plików
Skrypty PHP
Automat. FAQ
Banner
Forum
Imperator Stats
Komentarze
Komentarze (by JaX)
Księga gości (MySQL)
Księga gości (bez MySQL)
Księga gości (by Cezi)
Księga gości (by Occulkot)
Licznik
Logowanie
News
Profile
Składak
Sonda
Sonda tak/nie
Users Online
Uploader
XML
Kurs XML'a
Wprowadzenie
Pierwszy dokument XML
Sprawa ogonkowa
Przekształcenia
Narzędzia
Zasoby online
CGI
Kurs Perla
Wstęp
Uruchomienie
Składnia
CGI_PL
Warunki
Formmail
Formmail 2
Formweb
Tak/nie
HTML
Podstawy
Tagi
Tekst
Tabele
Formularze
Nagłowek
Inne
Kolory
Download
Ygreg offline
Narzędzia
Inne
Download
Błędy w stronach
Apache i okienka
Uprawnienia w UNIX'ie
Netscape 6
Darmowe konta
O mnie
Katalog stron:
HTML,
Java i JavaScript,
Grafika i design,
ASP,
PHP,
CGI,
Narzędzia,
Pozostałe
Skrypt do głosowań na stronach WWW.
[Opis] [FAQ] [Download]
Skrypt daje możliwość organizowania głosowań tak/nie i prezentacji aktualnego wyniku na stronie WWW.
Prezentacja wyniku wyglądać możę np. tak:
8 4
Instalacja i konfiguracja skryptu:
Chciałem, aby instalacja skryptu była możliwie prosta, ale chyba mi nie wyszło :-(. Najpierw w pliku taknie.pl należy ustawić kilka rzeczy (konfiguracja znajduje się na początku pliku):
W lini @ACCEPT_SERVER=('127.0.0.1', 'localhost'); należy wpisać listę serwerów i ich adresów IP, z których można będzie używać skryptu (względy bezpieczeństwa). W lini
@FILES=('../html/taknie.htm'); należy wpisać listę plików, w których będą prezentowane(i przechowywane) aktualne wyniki. Skrypt musi mieć odpowiednie uprawnienia, aby mógł zmodyfikować zawartość każdego z tych plików. Część serwerów pozwala skryptom CGI modyfikować wszystkie pliki należące do tej osoby co skrypt, jeżeli Twój na to nie pozwala ustaw dla każdego z wymienionych plików możliwość zapisu przez wszystkich użyttkowników.
Do każdego z wymienionych plików wstaw poniższy fragment kodu HTML:
<!-- begin taknie block
0 0 -->
<!-- end taknie block -->
Nie wstawiaj nic pomiędzy te komentarze. Będzie tam wstawiany aktualny wynik głosowania - dwa obrazki, przsedstawiające rozkład głosów.
Teraz formularz do głosowania. Zaczne może od przykładu
<FORM ACTION=/cgi-bin/taknie.pl METHOD=post>
<INPUT TYPE=RADIO NAME=glos VALUE=1>Za <INPUT TYPE=RADIO NAME=glos VALUE=0>Przeciw
<INPUT TYPE=HIDDEN NAME=nie VALUE=/taknien.gif>
<INPUT TYPE=HIDDEN NAME=tak VALUE=/takniet.gif>
<INPUT TYPE=HIDDEN NAME=glosowanie VALUE=0>
<INPUT TYPE=HIDDEN NAME=imageheight VALUE=20>
<INPUT TYPE=HIDDEN NAME=scale VALUE=3>
<INPUT TYPE=HIDDEN NAME=ret VALUE=/taknie.htm>
<INPUT TYPE=SUBMIT VALUE=ZAGŁOSUJ>
</FORM>
Jak widać w formularzu est kilka pól typu HIDDEN. Decydują one o wyglądzie wyników.
tak - URL obrazka który będzie reprezentował głosy 'za'
nie - URL obrazka który będzie reprezentował głosy 'przeciw'
glosowanie - numer pliku, w którym zostanie dodany głos. Lista plików jest ustawiana w skrypcie (patrz wyżej). Pierwszy z nich ma numer 0, drugi 1 itd.
imageheight - wysokość obrazków tak i nie
scale - obrazki przedastawiające wynik będą miały w sumie szerokość 100*scale
ret - URL strony, która zostanie wyświetlona po oddaniu głosu.
Pole głos musi mieć wartość 0 lub 1. Jeżeli będzie miało wartość 0 zostanie oddany głos 'przeciw', jeżeli 1 'za'.
FAQ:
1) Pytania ogólne
1.1) Dlaczego nazwę pliku trzeba podawać tak dziwacznie, zamiast tak jak adres strony pokazującej się po oddaniu głosu?
1.2) Czy na jednej stronie mogę mieć kilka głosowań?
1.3) Jak wyzerować wyniki głosowania?
1.4) Dlaczego w treści skryptu muszę podać nazwy i adresy IP serwerów z których będe korzystać?
1.5) Co zrobić, jeżeli nie chcę żeby aktualne wyniki głosowania były widoczne?
2) Problemy z uruchomieniem/działaniem skryptu
2.1) Przy próbie oddania głosu dostaje błąd '403 Forbidden'. Co robić?
2.2) Po oddaniu głosu pojewia się strona której adres podałam/podałem, ale wynik nie jest uaktualniany. Co robić?
1) Pytania ogólne
1.1) Dlaczego nazwę pliku trzeba podawać tak dziwacznie, zamiast tak jak adres strony pokazującej się po oddaniu głosu?
Ze względów bezpieczeństwa. Niektóre serwery dają skryptom możliwość modyfikowania wszystkich plików należących do tej samej osoby co skrypt. Przez to wysyłająć do skryptu nieodpowiednie dane możnaby spowodować przetworzenie przez niego dowolnego pliku. A to mogłoby się źle skończyć (chociaż nie powinno).
1.2) Czy na jednej stronie mogę mieć kilka głosowań?
Na jednej stronie może być kilka formularzy do oddawania głosów, ale wyniki każdego głosowania muszą być prezentowane na oddzielnej stronie.
1.3) Jak wyzerować wyniki głosowania?
Wystarczy zamienić tekst zaczynający się od <!-- begin taknie block i kończący <!-- end taknie block --> na
<!-- begin taknie block
0 0 -->
<!-- end taknie block -->
1.4) Dlaczego w treści skryptu muszę podać nazwy i adresy IP serwerów z których będe korzystać?
To ustawienie zabezpiecza przed wykorzystaniem skryptu przez innych - jeżeli każdy mółby skorzystać ze skryptu zainstalowanego na twoim serwerze, mogłoby to spowodować nadmierne jego obciążenie. Należy podać zarówno nazwę i adres IP każdego serwera, ponieważ nie ma pewności co zostanie przekazane do skryptu przez oprogramowanie serwera.
1.5) Co zrobić, jeżeli nie chcę żeby aktualne wyniki głosowania były widoczne?
Jedyne co można zrobić w takiej sytuacji to nie dawać nigdzie linka do strony z wynikami. Strona ta musi jednak być na serwerze.
2) Problemy z uruchomieniem/działaniem skryptu
2.1) Przy próbie oddania głosu dostaje błąd '403 Forbidden'. Co robić?
źle ustawiłaś/eś uprawnienia do pliku skryptu. Upewnij się, że są ustawione na 755 (chmod 755 jeżeli korzystasz z tekstowego klienta FTP, jeżeli z WS_FTP - kliknij plik przwym przyciskiem, wybierz 'chmod (UNIX)' i w okienku zaznecz wszystkie 3 pola read i Execute). Jeżeli to nie pomoże, spróbój zmienić rozszerzenie skryptu na .cgi - niektóre serwery tego wymagają.
2.2) Po oddaniu głosu pojewia się strona której adres podałam/podałem, ale wynik nie jest uaktualniany. Co robić?
Upewnij się, że podajesz właściwy numer pliku (pamiętaj, że pierwszy plik na liście ma numer 0) i że w skrypcie nazwa pliku jest poprawna. Pamiętaj, że musi to być nazwa ze ścieżką taką, jak na serwerze (tak jak jest w programie FTP, nie w przeglądarce!). Upewnij się, że plik ten ma ustawione prawidłowo prawa dostępu (skrypt musi móc go zmodyfikować). Upewnij się też, że pole glos w formularzu ma odpowiednią wartość (0 lub 1).
Sonda tylko w wersji online.
16.09.2001
Artykuły "Cookies" i "Wyrażenia Regularne". Autor: Tomasz Szmigiel.
16.09.2001
Kolejna księga gości i skrypt do komentarzy.
29.08.2001
Wyszukiwarka do forum.
29.08.2001
Skrypty Komentarze i Sonda tak/nie.
29.08.2001
Skrypty Banner i Logowanie.
22.08.2001
Artykuł Parametry w adresie.
27.07.2001
Dizał XML, a w nim kurs XML'a autorstwa Pawła Stroińskiego.
21.07.2001
Skrypt FAQ.
19.07.2001
Serwery wirtualne50 MB, CGI, PHP już od 80 zł / rok.
19.07.2001
Wykupiłem domenę www.ygreg.com
(C)opyright 1997-2001
by Grzegorz Plebański
Wyszukiwarka
Podobne podstrony:
taknieTAKNIE 1taknietakniewięcej podobnych podstron