A szavazás listák segítségével php
Szavazási listákon használnak szerte a különböző webes projektekhez. Ebben a leckében fogjuk létrehozni egy egyszerű PHP alapuló szavazási listán.
Mivel a normális működését a demo támogatni kívánt SQLite szerver, a bemutató használja a demo az eredeti leckét. Mintegy SQLlite kapcsolatot a szerver itt olvasható.
1. lépés: Tervezés és adatbázis létrehozása
A formáció a választási eredmények, meg kell tartani a következő információkat:
- Az azonosító kérdés
- válasz ID
- Szavazatok számát kapott egy kérdés / válasz páros
Ebben a leckében használja OEM és SQLite. PHP script létrehozásához használt adatbázis:

Ez az egyszerű script létrehozza az SQLite adatbázis a könyvtárba, ahol végre. Ellentétben MySQL, az adatbázis egy egyszerű fájl. SQL CREATE kérés létrehoz egy táblázatot, amelyben az elsődleges kulcs be van állítva:
2. lépés: Ki kell alakítani a HTML jelölőnyelv szavazási lista
Mielőtt generálni PHP kódot, el kell dönteni, hogy hogyan fog kinézni a szavazati lista szempontjából elrendezés. Mi lesz, hogy megőrizzék a szemantika a lehető legegyszerűbb. szavazási lista lesz két típusa van:
- Kérdések váró válaszol - egyfajta kérdések
- Jelenleg a szavazás eredményét - a forma szavazási eredmények
Írásakor HTML kódot kell használni CSS osztályok, amelyek a későbbiekben írunk le a leckét.
fajta kérdések
Mivel a szavazási listán egy sor lehetséges válasz, akkor fogjuk használni, rendezetlen listát, amely tartalmazni fogja a választ. A nagyon kérdéses a cím kerül felhasználásra.
Nagyon egyszerű, de nincs forma elemeit. Ebben az esetben a tökéletes rádió gombok, ahogy csak kell egy választ, hogy figyelembe szavazat. Így fogunk használni a címkét tag leképezésére válasz a kívánt rádió gombra. Most a HTML űrlap fog kinézni:
Meg kell adnia valamit. Fogunk használni fieldset tag meg a stílus lehetőségeket, és természetesen szükség van egy gomb, hogy küldjön a hangja!
Minden válasz egy olyan új tag li. ahol a rádió gomb értéke növekedni fog. Ez a művelet végül végrehajtani PHP kódot.
Részletek szavazási eredmények
HTML kód hasonló lesz ahhoz a fajta kérdés. Li címkék nem tartalmaznak az elemek a forma, és mi hozzá div. amelyet használni, hogy megjelenjen a százalékos szavazatok hogy a választ kapta:
Ez használ egy húr referencia stílusokat. Ezek a stílusok jönnek létre, hogy a PHP kód alapján a jelenlegi értékét százalékban leadott szavazatokat minden választ. Így bizonyos típusú kell kinéznie:

3. lépés: stílus formájában
A HTML kód, amit csak nem tűnik nagyon vonzó. Meg kell, hogy az oldal elrendezését vonzóbbá. Fogjuk használni a könyvtár csodálatos CSS3 PIE (Progressive Internet Explorer), úgy, hogy az oldal ugyanúgy néz ki minden böngészőben.
Stílust a form tag
Célunk, hogy az űrlap tag, mint a tartály. Ez lesz egy szép lekerekített sarkok és árnyék. stílus is állítja a szélesség és a padding.
Kulcs vonal - az egyik, hogy tartalmazza az attribútum viselkedését. Ezt figyelmen kívül hagyja minden böngésző kivételével az IE, és hozzáteszi, CSS3 alkalmassága IE6-8.

Megjelenése még mindig kissé ügyetlen, így továbbra is dolgozni stílusokat.
téglalap válaszok
Most hozzon létre egy tökéletes négyszög válaszokat. Beállítja a színt a külső határ (fieldset) ugyanaz, mint a háttér, és rendezetlen listát fogják használni, mint egy igazi határon. Itt látható a CSS kód:

Stílus válaszokat
Most meg kell adni a CSS stílusokat a lehetőségeinket jobban néz ki.
Miért használunk abszolút pozicionálás belépő bemenő és úszó elhelyezése a címkéket. Mivel a válasz nem tartalmaz több sorban is. Ha a válasz a szavazási lista hosszú lesz, a rádió gombot kell megjelennie a címke egy rendezetlen lista - akasztani a bal oldalon a szöveg. Így elkerülhető az áramlás a szöveget tartalmaz, akkor néhány sort.
Ott is használják a stílus kifejezetten IE (* jel), amely épít a gombokat a megfelelő sorrendben a IE6-8.
Azt is be kell állítani a stílus a csíkok, megjeleníti az eredményeket a szavazás. Írja be a kódot:
Van is egy különleges tulajdonság -pie-háttérben. amely kombinációban PIE könyvtár használatát teszi lehetővé gradiens a háttérben az IE.
Kérdés és gomb
Az alapértelmezett stílust a h4 tag nem felel meg az elvárásainknak, így hozzá a kódot hozzá.
Szintén alapértelmezés szerint a gombok nem nagyon elegáns megjelenés, így fogjuk használni CSS sprite számukra.

Utolsó simítások
Annak érdekében, hogy erősít néhány furcsa szokásai IE6, hozzátéve egyes elemei a zoom funkciót. A tulajdonság figyelmen kívül az összes többi böngésző.
Is, akkor láthatjuk a határ a kérdéseket. Ez végre a segítségével további osztály tag li. amely hozzá van rendelve az összes elemet a lista a PHP script.
Teljesen CSS fájl forráskódját.
4. lépés: Hozzon létre egy PHP osztály - válaszd interfész
Most itt az ideje, hogy megteremtse a PHP kódot generál a szavazási listán, a szavazás feldolgozás, és a kimeneti eredmények. Megpróbáljuk megmenteni a forgatókönyvet a lehető legegyszerűbb. Ahhoz, hogy hozzon létre egy listát a szavazás egy adott helyen egy oldalon, a következő kód használata PHP:
Csak add meg a kivitelező egy tömb, amely a szóban forgó majd a választ. Annak érdekében, hogy nyomon követhesse a kérdések az adatbázisban, akkor használjon egy MD5 hash a kérdést az azonosítót.
5. lépés: Válassza ki a tulajdonságait az osztály
Egyes adatok szükségesek a szavazási listán. Mi eltároljuk az adatok egy részét a tulajdonságok az osztály. Meg kell tartani a kérdések és válaszok, az alapvető elrendezés a HTML, az azonosító kérdés, és arról, hogyan kell megjeleníteni az eredményeket bar. Az alábbiakban a PHP kód:
inicializálás állandók használják az egyik módszer, hogy megkönnyítsék a meghatározása a helyzetét a szavazási folyamat.
A kérdés azonosító információk tárolására használják egy adatbázisban. Minden érték a HTML kódot bezárt százalékos jelek fogják cserélni.
6. lépés: Hozzon létre a HTML kódot a választói névjegyzék, vagy válaszolni
Mivel a szavazási lista létrehoz egy objektumot, mi magyarázza az eljárás __construct.
Az első sorban, vesszük ki a kérdést, hogy a köteg tömb array_shift funkciót. és mentse el az ingatlan. A válaszokat tömb tárolja. Mi is létrehozhatunk az azonosító kérdés, a md5 függvény.
A következő három sor végre a helyettesítési értékeket a HTML kódot. Az első beállítja a form action az oldal, amely kiszolgálja a szavazási listán. A második sor helyezi az azonosítóját a kérdés egy rejtett formában területen. A harmadik sor helyezi a kérdést a HTML kódot.
Az utolsó sor a kivitelező, akkor ellenőrizze, hogy ezen a listán, vagy nem a felhasználó szavazott. Ha ő szavazott, a szavazati eredmények jelennek meg, és ha nem -, akkor a szavazási listán.
7. lépés: Hozzon létre egy listát a szavazás
Mindkét folyamat - a termelés a listát szavazás eredményét és a termelés - nagyon hasonló műveleteket. Annak érdekében, hogy tartsák be a DRY elv (Ne ismételje magát) osztja a folyamat létrehozása a listán a három módszer. Az alapvető módszer - közvélemény-kutatás.

Ez történik, ebben az eljárásban:
2. és 3. sor: Gomb „Szavazás” van szükségünk, ha a felhasználó nem szavazott. Itt mi határozza meg, hogy mi használja a gombot, vagy sem. Majd illessze be a HTML-kódot, amely felváltja a% gombot% gombot, vagy kód, vagy egy üres karakterlánc.
Vonal 6-8: ha nem mutat egy listát a szavazást, akkor szükségünk eredményeket. Itt kap az adatokat. Szintén kiszámítjuk az összes szavazat, amely később felhasználható annak meghatározására százalék.
Sorok 11-12: GENERATION li címkéket a HTML kódot. Attól függően, hogy mi levezetni (szavazási listán, illetve az eredmény), generál különböző kódot a HTML. A folyamat által vezérelt két funkciója van:
15. sor: egy egyszerű kimeneti adatok az oldalra.
8. lépés: pollLine () módszer
Ez egy nagyon egyszerű módszer, hogy megkapja az aktuális válasz index érvként.
Ez ellenőrzi, hogy vannak-e több válasz után, és ha igen, meghatározza a CSS osztály a határon erre li tag. Utolsó válasz nem lesz ebben az osztályban, és ezáltal a kívánt vizuális hatás.
9. lépés: voteLine () módszer
Ez a módszer három paramétert fogad:
- $ Válasz. A válasz arra a kérdésre, ezen a vonalon
- $ Result. Szavazatok száma, hogy van ez a válasz
- $ Szavazat. Az összes szavazat a felmérésben
A kapott címke adat keletkezik az eredmény megjelenítésére li.
Mivel lehetséges, hogy a válasz nem lesz a szavazatok általában. Mi ellenőrizze a változó $ result. és ha ez nem számít, mi van rendelve alapértelmezés szerint 0.
Ezután határozza meg, mi százalékos szavazatok kapott választ, és segítségével a skála skála beállított szélessége képpontban, hogy az eredmény a szalag. Ezután HTML kódot ad vissza, amely sodderzhit az összes szükséges információt.
10. lépés: írása getData () módszer
getData () módszer meghatározása statikus. Miért? Ha úgy döntünk, hogy bővül a rendszerünk a jövőben használatával AJAX, akkor kell hívni ezt a módszert létrehozása nélkül objektumot. Itt látható a módszer kód:
ID számít vezetjük a módszer, amely egy tömböt ad vissza, ID válaszokat és a szavazatok számát a választ.
11. lépés: Voice Processing
Fogunk egy második statikus módszer az osztály. Ez a módszer feldolgozza a kapott hang. Hang számít, ha a felhasználó korábban nem szavazott (meghatározva cookie-kkal). Ha egy felhasználó szavazott, mi meg sootvettsvuyuschie cookie-kat.
Módszer szavazás () kerül a tetején a PHP oldalon, így azt kell eldönteni, hogy a feldolgozott hang. Fent csökkent expressziója meghatározza a megoldást:
- Ha nincs probléma azonosítót a POST adatokat (OR !!)
- Ha nincs válasz azonosítóját a POST adatok (OR !!)
- A cookie-k már összhangban van a kérdés ID
Ha bármelyik ezek a feltételek teljesülnek, akkor nem kell kezelni hang, majd el kell hagynia az eljárás.
Ez a kód úgy néz ki, sokkal bonyolultabb, mint amilyen valójában. Ez ellenőrzi, hogy határozott választ legalább egy szavazata van. Ha nem, akkor hozzon létre egy új bejegyzést a választ, és a hangfelvételt. Ha van, akkor frissíti a meglévő rekordot. Hogyan kell ezt csinálni?
PDO kivétel.
Kezdetben ez a bemutató hoztuk létre elsődleges kulcsot több területen. Amikor megpróbáljuk be egy rekordot egy táblázatot, amely megfelel egy létező pár QID / AID. kivétel keletkezik, ami a kód 23000 (duplikált elsődleges kulcs).
Ha a betét művelet kivételt dob, akkor ellenőrizni kell a kivétel kódot, és ESL ion megfelel 23000 frissíteni az adatokat a rekordot. Természetesen, ha az adatokat a behelyezés más okból, vagy rekord frissítés nem sikerült, db_error () metódus. amely egyszerűen hibaüzenetet jelenít meg. Abban az esetben, egy igazi projekt a hibaüzenetet kell írni a napló és / vagy tájékoztatja az ügyvezetőt.

Kerekítés a következő sort módszer:
C-rowcount (), akkor ellenőrizze, hogy a hang feldolgozása. Ha a hang regisztráció sikeres, mi meg egy cookie segítségével azonosítja az érintett, mint a neve a sütit.
Ezen kívül azt az értéket a globális szuper-magyarázó változók $ _COOKIE, így amikor kimenetre golosvaniya rendszer azonnal megjeleníti a találati listát.
12. lépés: mindezt együtt
Írtunk egy PHP, CSS és állítsa be a HTML-jelölést nem, most már mind össze vannak kötve egymással. Ebben a példában, csak hogy mindent egy új oldalt. A tetején, helyezze be a következő sorokat:
Aztán mi is az összes stílus létrehozott külön stíluslapot. Továbbá, szükséges, hogy bizonyos stílust csak az IE, ami elérhetővé teszi a pszeudo-osztály: hover.
A szervezetben a mi oldal HTMLvstavlem alábbi kódot PHP:

Által nyújtott információk útján két csatorna (látás és hallás) a képzés hatékonyságának sokkal jobb tanulás könyvekből. A házi feladatok és online tesztek lehetővé teszi, hogy folyamatosan úgy gondolja, a célnyelven, és azonnal ellenőrizze tudását!


Ha azt szeretnénk, hosszú ideig, hogy tanulmányozzák, hogyan lehet HTML-t, akkor engem, mert van jó hír!

Ha már megtanulta a HTML és tovább szeretne lépni, a következő lépés az lesz, hogy tanulmányozza a CSS technológiával.

Ha azt szeretnénk, hogy megértsék a fogalmak domain és tárhely, megtanulják, hogyan kell létrehozni egy adatbázist, feltölteni a fájlokat a honlapon keresztül FTP szerver, hozzon létre aldomain konfigurálja a postaládákat a helyszínen, és ellenőrzi a részvétel, a tanfolyam kifejezetten az Ön számára!