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:

A szavazás listák segítségével php

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:

A szavazás listák segítségével php

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.

A szavazás listák segítségével php

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:

A szavazás listák segítségével php

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.

A szavazás listák segítségével php

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.

A szavazás listák segítségével php

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.

A szavazás listák segítségével php

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:

A szavazás listák segítségével 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!

A szavazás listák segítségével php

A szavazás listák segítségével php

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

A szavazás listák segítségével php

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.

A szavazás listák segítségével php

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!