O colecție de scripturi în PHP
Votul în PHP
Este vorba despre munca practică, pe care o vom realiza împreună și vom învăța. Votarea este un mijloc de a afla opiniile vizitatorilor dvs. cu privire la diverse probleme. Întrebările însele pot fi utile și inutile - nu vom lua în considerare acest subiect. Și pentru exemplul nostru, adresați-vă o întrebare simplă - opinia dvs. despre site? Să presupunem, de exemplu, că aveți dorința de a afla ce cred majoritatea vizitatorilor site-ului dvs. Oferim următoarele răspunsuri:
Continuați lista pe care o puteți deja. Pentru lucru, avem nevoie de cunostinte de baza de HTML, PHP versiunea 3 sau mai mare si trei fisiere. Trei - pentru că, în primul rând, îi vom cere vizitatorului opinia, în cel de-al doilea magazin rezultatele, iar în al treilea - le va scoate și le va procesa. În mod strict, nu este nevoie să distribuiți toate aceste funcții în fișiere diferite, dar pentru simplitate și conveniență vom face acest lucru. Primul fișier va avea numele index.phtml, al doilea - golos.txt și al treilea - golos.phtml. Pentru a le crea pentru tine nu va fi dificilă, și de asta vom începe. Când faceți totul și încărcați fișierele terminate pe serverul dvs., nu uitați să setați atributele fișierului golos.txt astfel încât să poată fi accesat pentru scriere. De obicei, acestea sunt atributele 666 sau 777. Puteți face acest lucru, de obicei, cu ajutorul managerului dvs. FTP. Dacă nu, utilizați IE 5.0 și versiuni ulterioare în modul FTP, atunci trebuie doar să vă uitați la proprietățile fișierului deja încărcat pe server și să instalați toate casetele de selectare.
Aici trebuie să decideți în ce format vom stoca informațiile pe care le introduceți. Cea mai simplă modalitate de a organiza patru rânduri (după numărul de răspunsuri) și numărați numerele corespunzătoare numărului răspunsului selectat. Toată această rușine poate fi citită folosind comanda PHP pentru a introduce un fișier într-o matrice, dar nu uitați că matricea începe întotdeauna cu un index de zero. În consecință - prima linie a fișierului nostru nu va fi utilizată și puteți introduce orice doriți. De exemplu - informații despre fișier: Rezultatele votării. Dacă acest lucru se întâmplă, introduceți încă patru linii cu zerouri. Nu uitați să apăsați pe intrare pentru a muta linia. Acestea sunt rezultate gata (până acum doar inițiale) ale votului nostru. Din moment ce nimeni nu a votat încă :-) sunt zero.
Așa că am ajuns la principalele și interesante. De la început, voi cita tot codul scenariului, iar apoi voi da o explicație în aplicarea și lucrarea sa.
dacă ($ answer! = "") <
ecou "
Vă mulțumesc, părerea dvs. este luată în considerare: ";
$ a [$ răspuns] ++; $ n ++;
Din nou, vreau să avertizez că acest cod nu este cel mai bun și simplu, dar logic și funcțional. Variantele de realizare din greutate, dar nu am vrut să ia ceva deja terminat, așa că nu-mi pasă în special cu privire la lizibilitatea și de design (așa cum le puteți face :-), a scris propriul său cod, care a luat cu reglare si depanare literalmente o jumătate de oră. Scenariul se concentrează pe o anumită sarcină, dar nu aveți nevoie să o faceți din nou pentru numărul de răspunsuri la întrebare. Permiteți-mi să vă reamintesc că sarcina noastră principală în exemplul practic este de a învăța cum să creați propriile sisteme de votare și votare. Acum, că toate liniile rabotaet.V prima am decide cu privire la numele fișierului și a citit rezultatele rezultatelor votării în fișierul de date numit $ a. În continuare există o buclă în care tratam matrice rezultat, astfel încât să nu conțină transportul de caractere de traducere (linia de intrare) și golurile: $ a [$ i] = tăiați (str_replace ( „“, „“, $ a [$ i ])); În paralel, numărăm numărul de alegători, ceea ce nu este dificil deoarece este pur și simplu suma valorilor matricei noastre. Pentru a șterge caracterele de intrare și spațiu, trebuie să convertiți datele citite dintr-un șir de caractere într-un întreg. Acest lucru se poate face în diferite moduri, dar în acest caz, pur și simplu ștergeți „“ caractere (în PHP corespunde liniei de transfer) și să tăiați spațiile de la începutul și sfârșitul funcției linie de echipare (). Rezultatele sunt introduse înapoi în matrice, dar sub forma unei valori întregi care poate fi adăugată, mărită, împărțită etc. Suntem interesați de creșterea pe unitate elementul specific al matrice, numărul de care (indicele) este stocat în variabila $? Answer, care, la rândul său, a venit la noi prin moștenire din matriță.
După procesarea matricei recepționate, scriptul trebuie să decidă asupra modului ales de vizitator - sau să afișeze pur și simplu rezultatele sau să adauge o voce la poziția corespunzătoare. Acest lucru se realizează prin verificarea variabilei $ answer, care stochează valoarea opțiunii de vot aleasă de vizitatorul site-ului. Dacă această variabilă este goală, butonul pentru rezultat a fost apăsat și scriptul ignoră unitatea de numărare a vocii. Dacă variabila de răspuns $ nu este goală, ea conține numărul opțiunii de vot selectate, ceea ce înseamnă că putem crește pur și simplu valoarea celulei dorite a matricei cu unul: $ a [$ answer] ++; În plus, este necesar să se mărească valoarea numărului de alegători pentru a lua în considerare vocea unei persoane care tocmai a votat.
Atunci când celula dorită a matricei este mărită, este timpul să scrieți rezultatele într-un fișier. Pentru a face acest lucru, prima conexiune la fișier este deschisă: $ fp = fopen ($ file, "w"); Simbolul w indică necesitatea de a șterge conținutul fișierului înainte de a scrie. Dacă conexiunea nu este stabilită, este afișat un mesaj de eroare, dacă este setat - valoarea preformatată a $ rez este înscrisă în fișier. Variabila $ rez este formată după cum urmează: valoarea tuturor celulelor matricei (cu excepția primului zero, care nu este utilizată) este blocată împreună astfel încât separatorul să fie o linie nouă. Acest lucru va citi mai târziu corect fișierul rezultat. Pentru liniile de îmbinare în PHP, se utilizează separatorul-punct. Rețineți că matricea noastră de numere întregi a trecut la nivelul caracterelor și poate fi utilizată și procesată prin orice metodă PHP disponibilă.
Și în final - este timpul să aduceți rezultatele pe ecran. Nu uitați de traducerea liniei în HTML, care este puțin diferită decât în PHP. Aceasta se face printr-o simplă ieșire pe ecran (și prin urmare, în codul HTML) al etichetei
. După ieșirea rezultatelor formatate, scriptul își încheie activitatea. Acest bloc poate fi, de asemenea, organizat în moduri diferite, iar metoda utilizată aici este cea mai simplă. Cel mai bine este să puneți rezultatele și articolele pe plăcuță, apoi informațiile afișate vor arăta mai frumoase. Dacă observați, această parte a scriptului este executată în orice caz, precum și citirea datelor din fișier. În acest fel, rezultatele garantate sunt afișate pe ecran.