Cum sa faci un captcha pe php

Eu vă urez bun venit, dragi prieteni!

Astăzi ne uităm la și va crea de la sol captcha original și yuzabilnuyu ( „prietenoasă“ pentru utilizator) în PHP. Asta este, toate au întâlnit CAPTCHA. în cazul în care drept, ca să spunem așa, este necesar să decodeze toate literele. Deci, eu personal nu-mi place o astfel de CAPTCHA, iar acest lucru a decis să creeze un yuzabilnuyu și captcha simplu. Ei bine, să începem ...

Pentru a începe, să se ocupe de organizarea fișierelor. Pentru acest lucru avem nevoie de un server local (de exemplu, Denwer). Crearea unui director proiectul nostru (de exemplu, captcha.loc), care va avea următoarele directoare și fișiere:

Director css -> style.css - stylesheet;

Director cu imagini -> apple.png. apricot.png. kiwi.png. lemon.png. orange.png - imaginile noastre pentru CAPTCHA;

htaccess -> În acest caz, va trebui să specificați în continuare codificarea UTF-8;

index.php fișier -> acolo vom scrie tot codul nostru.

Și așa - începe.

Pasul 1 - Crearea HTML-markup:

Aici există un simplu HTML-marcare. Singurul punct pe care o puteți proteja este: de ce într-un câmp ascuns (linia 33) atribut valoare nu este populată? Valoarea atributului va fi introdus și compară valoarea pe care utilizatorul selectat, iar valoarea generată care a fost stocată în sesiune.

fișier .htaccess - un fișier de configurare suplimentar de server web Apache. Deoarece există doar o singură linie de cod, care specifică codificarea documentului nostru. În timp ce în documentul HTML, vom specifica codarea, dar există o astfel de situație, atunci când browser-ul ar trebui să Windows 1251 (chirilic), și în documentul - UTF-8 - este clar că documentul va fi afișat în codificarea Windows 1251 (prioritatea browser- de mai sus), și să se asigure că documentele sunt afișate în codificarea de care avem nevoie - este fișierul .htaccess. În acest fișier, adăugați linia: AddDefaultCharset utf-8

Pasul 2 - Adăugarea de stiluri:

În general, importante (linia 14) - vă permite să măriți prioritatea de stil, care este, Această regulă este importantă pentru noi. Ca urmare, atunci când facem clic pe imagine, cadrul va rămâne.

Activitatea principală a acestui script este de a urmări clicurile pe imagine și pentru a efectua anumite acțiuni.

Și astfel, atunci când utilizatorul face clic pe imagine, vom lua toate imaginile și de fiecare buclă prin toate imaginile, și atunci când faceți clic pe script-ul de imagine se va adăuga o clasă de activ (de exemplu, se va stabili doar un cadru verde) și se obține valoarea atributului ALT.

Dacă utilizatorul face clic pe o altă imagine, atunci acesta va fi pur și simplu adăugate la clasa de active. iar pentru restul de imagini de clasă activă - șters!

În continuare, ne întoarcem la elementul pe care a fost un clic și atrăgătoare pentru atributul său alt. apoi pune valoarea lui în fruct variabilă. face apel la câmpul nostru ascuns cu id = »fructe» în aceeași valoare este scris că există o variabilă în fruct - este necesar să se compare valorile!

În linia 4, vom merge doar pentru a curăța valoarea câmpului ascuns, astfel încât nu a fost depozitat permanent.

PASUL 4 - Scrierea codului de server (PHP):

Acest cod PHP trebuie să fie inserat la începutul documentului, care este de a scrie cod PHP de prima linie.

Și astfel, am creat o serie de fructe. În continuare, vom genera aleatoriu fructe element de matrice și valoarea sa este înregistrată în sesiunea. Atunci cecul nu a venit, dacă vom forma de date, care este, consumul de date dintr-o metodă de formular POST nu vine, atunci vom scrie la sesiunea un element aleatoriu (fructe), dar altfel vom lua datele din forma de instrumente PHP și va compara cu cele că avem un câmp ascuns.

Apoi vom obține datele din câmpurile de formular și verificați dacă utilizatorul a introdus ceva în domeniu, în cazul în care nu a intrat nimic, tocmai l prezentam ca „oaspeți“.

Apoi, trebuie să ne comparăm cu ceea ce ne-am luat în sesiune, și care se încadrează într-un câmp ascuns. Și dacă în sesiunea de matrice la nivel mondial, elementul de fructe este egal cu faptul că avem un fruct variabilă. apoi afișa un mesaj, cum ar fi: „Ai fost testat, etc“, și în caz contrar, adică, elementul de fructe nu va fi egal cu ceea ce avem în fruct variabilă, vom afișa un mesaj, cum ar fi: „Nu au fost testate, etc. .. " Apoi, face o redirecționare pentru a reseta post-date.

PASUL 5 - afișează o casetă de mesaj:

Acest cod PHP mic trebuie să fie inserat după forma.

Vă mulțumesc tuturor pentru atenție!

articole similare