Cum de a face magazin on-line articol studiu php

Înainte de a trece la subiect real, aș dori să ajungă la un numitor comun (deși poate că ar fi fost făcută la sfârșitul anului?). Soluție Software-ul propus aici nu este ideală și singurul drept. Într-o lume de foarte puțin :-) perfectă Deci, să nu sunt de acord să locuiască pe astfel de lucruri ca alegerea limbajului de programare, stilul programului, modalități de rezolvare a problemelor. Toate acestea pot fi o lungă și zel a discuta, dar scopul meu am vedea un oarecum diferit - pentru a oferi tuturor persoanelor interesate informațiile minime privind crearea de propriul magazin online, fără soluții software și hardware complexe. Si cel mai important - fără costuri financiare semnificative, care joacă adesea un rol decisiv.

Asigurați-un simplu (nu vom lua în considerare soluții complexe) Magazin online de sine, destul de ciudat, este foarte simplu. Si nu fi surprins - realizarea unui astfel de proiect, chiar și un programator novice disponibil, familiarizat cu tehnologii Internet. Sper să puteți vedea pentru tine. Un pic mai complicat să dau seama cum de a lega propriul magazin (aici și în continuare, se înțelege, desigur, magazin de Internet) pentru mărfuri specifice. Ei bine, aici e un exemplu. Există un set de papetărie. Suma de 1000 de articole. prețurile de preț și informații despre produs este actualizat aproape în fiecare zi, și nu pur și simplu actualizate, și, uneori, actualizate radical! Iar schimbarea este nu numai prețul pe care nu este atât de rău, dar, de asemenea, tipurile de bunuri, descrieri, garanții și de livrare, etc. Încercați să facă toate aceste date în magazinul dvs. în fiecare zi, și trebuie doar respect pentru oamenii care fac acest tip de lucru :-) Aici sunt datele de actualizare în magazin și ocupă cea mai mare parte a programului în sine. Aceasta este ceea ce trebuie să ia în considerare mai întâi.

Înainte de a începe magazinul dvs., trebuie să examineze în detaliu prețul mărfurilor și mijloacelor de actualizarea acesteia în original. Să luăm, de exemplu, vin la unele convenții. Există o companie în care gama de produse de calculator. Destul cu ei, astfel încât el să nu se angajeze în actualizarea manuală, și să vină cu propriul lor sistem de sincronizare a datelor și a stoca un preț. Lăsați prețul să fie în nostru Excel-e. Acest lucru nu este cazul de obicei, multe companii folosesc programe specializate, cum ar fi 1C, dar astfel de momente nu sunt fundamentale, deoarece este întotdeauna posibil de a importa date de la astfel de pachete în Excel. Numărul de secțiuni în preț și bunurile nu sunt fixe, iar prețul este un set de rânduri și coloane. În fiecare rând - sau secțiune element numele unui preț (de exemplu - procesor, memorie, mouse-ul, etc.). Numărul de coloane nu contează, standardul poate fi prețul prezent, numele, descrierea produsului. Cu toate acestea, pot exista și alte opțiuni. Iată lista de prețuri și descrierea din comun, cu care s-ar putea întâlni.

Ce și cum puteți utiliza cu aceste date? Desigur, puteți aplica module speciale pentru a prelua date dintr-un format de fișier Excel (ele există în versiuni diferite pentru diferite limbi), dar aceste module sunt, de obicei nu sunt libere, și, prin urmare, nu este acceptabil pentru noi. De asemenea, - stabilirea întotdeauna problema. Uneori, care ar face necesar să posede astfel de calificări, este mai ușor să scrie totul de la zero :-) Cu toate acestea, aceste module nu au nevoie cu adevărat. Care este prețul nostru? În mod corespunzător, un set de rânduri și coloane, și sincronizate strict reciproc. Deci, aceste rânduri și coloane, puteți construi un fișier text cu exact aceeași structură. Numai în locul diviziunii vizual de rânduri și coloane (în Excel-e), este necesar să se utilizeze orice caractere. Desigur, în acest caz, sincronizarea vizuală este pierdut, ca linii lungi sunt întotdeauna diferite, dar nu contează, pentru că structura internă va rămâne aceeași. Acesta va fi tot același rând și coloană, numai de data aceasta într-un format de text. Dar acest format este foarte ușor de citit și procesa practic orice limbaj de programare.

Dacă vorbim despre exemple și condițională, să ne acum va determina exemplele noastre privind ceea ce limbaj de programare. alegerea evidentă pentru mine, pentru că magazinul meu, l-am scris în PHP. Acesta este un simplu (și în același timp, este suficient de puternic) un limbaj de programare de scripting, care oferă toate instrumentele necesare pentru a pune în aplicare magazinul online (și nu numai el, de altfel). Așa că lăsați-l să fie PHP. Dar nu uitați că puteți oricând transfera cu ușurință algoritm pe orice altă platformă. Doar cu PHP este mai ușor într-un fel.

Înapoi la lista noastră de prețuri. Excel, cum știm, poate salva fișierele lor în diferite formate. Suntem interesați chiar acum este unul - un fișier text cu tab-delimitat. În principiu, separatoare nu sunt importante, aveți posibilitatea să salvați într-un format delimitat prin virgule sau spații. Utilizați unul care vă place cel mai bine. Ne concentrăm pe o filă.

Și asta e ceea ce ne-am luat la ieșire: fișierul * .txt, linii separate de retur de car (un simplu Enter), coloane separate prin file. Toate structura internă a listei de prețuri a rămas la fel de cand ai acoperit maestru Excel salva. Ei bine, asta e mai bine :-)

Așa că am găsit o modalitate de a nu face munca de rutina la preț actualizate zilnic în magazinul nostru on-line, cât mai mult posibil pentru a automatiza acest proces. Înainte de a începe lucrul cu fișierul rezultat, să-ți placă un pic stoarce sau proces. Acest lucru este necesar pentru ca ar elimina coloane inutile, spații multiple, temporar, în afara produselor de stoc, etc. Pentru a face acest lucru, citiți fișierul într-o matrice pentru a procesa fiecare linie pentru prezența de informații inutile, scrie rezultatul înapoi la matrice în același loc, și în cele din urmă - întreaga matrice pentru a scrie într-un fișier. Aproximativ asa. Dar trebuie să se bazeze pe nevoile specifice de astfel de operațiuni, este posibil pur și simplu pentru a elimina spațiile duplicat.

Când totul este gata, este timpul pentru a începe algoritmul de eșantionare a datelor din fișierul nostru text cu lista de prețuri. După cum v-ați dat seama că sperăm că nu a fost complicat. Citiți fișierul într-o matrice:

$ File = "price.txt";
$ Tovar = file (fișier $);

Încă o dată, exemplele date în formatul limba PHP. În plus, este necesar pentru a trata o serie de $ tovar [] în bucla cu încheierea rezultatelor pe ecran:

$ I = 0; // contor pornește de la zero
în timp ce (i $ echo "
„; // nu uitați despre traducerea siruri de caractere $ i ++; // termina ciclul
endwhile;

Deci, avem nevoie pentru a separa secțiunea prețul informațiilor despre produs. Acest lucru se poate face, dacă ne acorde o atenție la ceea ce iese din titlul secțiunii difuzoare. Ca o regulă, la fel ca și denumirea produsului. Dar - în conformitate cu numele secțiunii este nici o informație cu privire la prețul mărfurilor, iar acest lucru este un semn distinctiv pentru programul. Destul de fiecare dată pentru a monitoriza prezența coloanei prețul rândului selectat. Când este gol - în linia de titlu de secțiune, și poate fi afișată - în cazul în care nu o marfă, săriți doar această linie, dacă aveți nevoie să ieșire numai titlurile secțiunilor. Pe de altă parte pentru a imprima numai bunurile.

Acum, cu privire la modul de a partaja informațiile din rândul selectat de coloane. Se separă fiecare coloană o variabilă. În cazul în care coloanele din prețul de cinci, și variabilele necesare pentru a rezerva cinci, de asemenea. Pentru a evita confuzia, să ia nume similare: $ N_1, $ n $ _2, n_3, $ n_4, $ n _5. Acum, dacă rândul dorit în matrice este de $ tovar [$ i]. este suficient să se aplice o astfel de structură:

lista ($ N_1, $ n_2, $ n_3, $ n_4, $ n_5) = divizare ( "\ t", $ tovar [$ i]);

iar dacă coloana au fost separate printr-o filă, ele distribuite în variabila sa fiecare. Dacă utilizați o altă coloană de separare, trebuie să-l înregistreze în loc de \ t. Acum este ușor pentru a verifica disponibilitatea prețurilor, precum și de sortare și formatul listei de prețuri de date după cum este necesar.

Iată la tine și o soluție la cheie pentru care ar afișa doar prețul diviziunilor pe ecran. Dar acest lucru nu este suficient pentru un magazin online cu drepturi depline, deoarece implică posibilitatea de a comanda mărfurilor selectate.

Am ajuns la un subiect foarte interesant - coș de cumpărături virtuale. Fără îndoială, pe atât de multe site-uri ați încercat să comandați bunuri stabilite acolo, precum și toate lucrările de coș a fost pus în aplicare în moduri diferite. Care ar trebui să fie vizitatorul standard, de la un magazin online? Asta-i drept, cumpăra mărfurile. Și el nu-l ia? navigare ușoară, acces ușor și rapid la produse, capacitatea de a schimba numărul de un singur tip de mărfuri în coș, capacitatea de a elimina un element din Coșul de reciclare, informațiile element (datele, setările, fotografie, și în cele din urmă - prețul). Acesta este - un minim necesar - o creștere a funcțiilor disponibile afectează în mod negativ viteza și complică foarte mult programul. Dar - mai mult decât suficient pentru noi.

Și nu ne vom opri în față, pentru că practic nu se schimba nimic. Tot la fel, nu puteți obține departe de cookie: Ei bine, se poate auzi o mulțime de voci :-) comentarii nu foarte favorabile, cum ar fi „Din nou, așa cum ne-am gândit o dată“. Da, și da! Lasă-mă să încerc să dau o serie de argumente pentru utilizarea acestei tehnologii, și vă decideți pentru tine - am dreptate sau nu.

Pentru a face acest lucru, trebuie să ia în considerare avantajele și dezavantajele mai multe tehnologii concurente. Ce se poate opune unui cookie? Din ceea ce este mai ușor - script Java și sesiune. Să ne uităm la toate trei, în ordine.

Cookie - un mic fișier în scris pe serverul computer. Toate browserele suporta de lucru cu ei, și crede-mă - această tehnologie mai multe limitări decât oportunități. De exemplu, nu pot fi scrise într-un singur modul cookie mai mult de 4 kilobyte de date nu pot fi accesate de cookie altcuiva, numai lui (creat de către serverul dvs.), nu puteți seta un cookie în cazul în care sau în altă parte, cu excepția alocat de către utilizator. Este imposibil, imposibil, imposibil: Desigur, toate acestea sunt cu condiția să urmați siguranța computerul dumneavoastră și de a instala software-ul cel mai avansat. Apropo, aproape toate browserele prin cookie-urile implicite sunt activate, iar dacă ai fi în stare să le dezactivați - și se poate transforma. Puteți face acest lucru în setările browser-ului programului. Un număr foarte mare de site-uri utilizează cookie său de lucru, iar unele dintre ele pur și simplu nu vă va permite să se fără includerea sprijinului lor în browser. Bine sau rău - este. Există programe speciale - firewall-uri, intersectând cookie sau refuza accesul la site-ul, astfel încât alegerea este încă lăsată vizitatorului. Dar - un calculator utilizator mediu nu dezactivează cookie-ul, și pentru picioare avansate pentru a scrie un avertisment pe site-ul web.

Urmatoarea - Java Script. Aceasta tehnologie este, de asemenea, destul de comună, dar. Există versiuni de browsere populare care nu acceptă munca Java Script. De exemplu - o versiune de Opera. Cu toate acestea, acest lucru nu este un dezavantaj, pe care aș dori să subliniez. Java Script tehnologie client-side, ceea ce înseamnă că textul programului - script-ul ar trebui să fie transferate la browser. În sine - un timp de boot creștere și încetini programul, sunt garantate. Un plus aici mai exigente de resurse informatice, și obținem un amestec exploziv. Dar clientul său ar trebui să fie respectate și chiar un pic de dragoste - cum ne-a plăti pentru munca noastră. Deci, de ce să complice drumul său spre site-ul? Cu toate acestea, există aici și demnitate - în cazul în care serverul nu suportă programarea pe partea sa, rămâne doar pentru a profita de Java Script.

Sesiunea. Un mecanism foarte eficient construit în mai multe limbaje de programare moderne. Există, de exemplu, versiunile 4.0 și mai sus în PHP. Acesta vă permite să transferați variabile dintr-o fereastră de browser la altul, fără pierderi și fără metodă de transfer POST sau GET. Este pe degete. În realitate - el folosește în opera sa un identificator unic, care este stocat într-un cookie de la fel, astfel încât ceea ce este nou în principiu, nu are nimic, cu excepția faptului că mărește gradul de utilizare: Dacă știți doar cum să-l folosească :-) Desigur - necesită suport cookie din browserul dvs. .

Aici ei sunt concurenți. De fapt, - alegerea este între cele două: cookie-ul sau Java Script. Al doilea ar trebui să fie selectată numai în cazul în care gazda nu are suport pentru programare partea de server în orice limbă. Acest lucru este - aproape toate serviciu gratuit de găzduire. Și pe teren trebuie să locuiască în toate celelalte cazuri în care există o oportunitate de a da cea mai mare parte munca pe serverul de procesare. Cu toate acestea, Java Script va lucra, de asemenea, cu un cookie, în caz contrar se taie scurt de conectare, astfel inadecvat la Internet va lipsi vizitatorul abia umplute în coș. A doua oară el (magazin de vizitatori), iar acest lucru nu se poate face. Dacă utilizați cookie - toate coș rămâne intactă, așa cum este scris pe computerul client. După cum puteți vedea, cercul este închis, nu ne pasă de ei nu pot ajunge departe :-) Deci, - decizia privind alegerea tehnologiei depinde de capacitățile de găzduire.

Noi, ca o programatori progresivă se concentreze pe cookie-ul. Mai ales pentru că avem PHP și este foarte ușor de instalat, eliminați și citește cookie. În practică, acest lucru va arata astfel:

Asta e tot ce avem nevoie pentru a lucra cu cookie-ul teribil.

Odată ce tehnologia este ales - să-l aplice în practică! Preț de la noi, dacă vă amintiți, este stocată într-un fișier text. Unitatea de eșantionare a datelor acolo. Rămâne de a decide exact ce se păstrează într-un cookie. Este posibil - toate informațiile despre un produs și poate fi doar un ID digital și cantitatea. Alegerea specifică care urmează să fie făcută pe baza condițiilor reale. Conform principiului - este mai ușor. Doar trebuie să ne amintim că identificatorul numeric nu ia o mulțime de spațiu în memorie, dar e mai mult de un hassle în termeni de programare. Va trebui să facă un act de identitate de potrivire bloc și informații mostre dintr-un fișier de preț. Apoi, există un alt punct. Dacă prețul frecvent, respectiv, informațiile coșul de cumpărături pot deveni rapid depășite și nu corespund realității. Deci, ar trebui să ne gândim la data controlului. Data la care un vizitator a adăugat un produs în coșul de cumpărături, va trebui, de asemenea, să fie stocate într-un cookie, pentru că nicăieri în altă parte. În cazul în care datele sunt foarte diferite - este necesar pentru a avertiza cumpărător în legătură cu diferența. În caz contrar, se poate întâmpla incidente nefericite. Frustrant atunci când comanda se face la prețul de săptămâna trecută. Ea nu numai că a căzut, dar, de asemenea, crește! Apoi am să explic: Deci, v-ar lua mai bine grijă de aceste lucruri în avans. Cu toate că, în cazul în care prețul este mai mult sau mai puțin o preocupare constantă asupra costurilor.

identificator numeric este foarte convenabil pentru a selecta numărul elementului în preț. Acest număr, desigur, unic pentru fiecare produs, iar noi vrem. Și în afară - de poziția este ușor pentru a extrage informații dintr-un fișier text cu lista de prețuri. Este suficient să ia în considerare întregul fișier într-o matrice:

$ File = "price.txt"; // Apropo, extensia de fișier poate fi orice
$ Ca = fișier ($ file);

Și se referă la rândul de matrice cu indicele dorit:

Id-ul $ - ID-ul. avem nevoie. Cu toate acestea, folosind această metodă, nu putem evita data controlului, dar nu e așa de rău.

Alături este necesar identificatorul de produs să-și amintească și cantitatea. Prin urmare, în prima ordine, introduceți un număr de 1. Apoi, este de dorit să se permită arbitrar (limitat, desigur, cadrul) pentru a modifica numărul. Pentru a recalcula cantitatea de buton necesară, în cazul în care acesta este, după prima formă - de lucru și apăsați tasta Enter. Foarte convenabil - a introdus o nouă cantitate și apăsați Enter pentru a converti.

Desigur, trebuie să se gândească la exact cum să afișeze informații cu privire la costul total al comenzii. Nu uita despre reduceri și cadouri, în cazul în care acestea sunt, desigur, există în magazinul online. Bine se potrivesc aici diverse bonusuri și informații de transport maritim. Dacă este liber - scrie despre asta. Nu va fi de prisos.

După cum puteți vedea, în ordinea în care este posibil să se răspundă aproape imediat, de îndată ce onpostupit. Acest lucru sporește încrederea clienților la magazin și să aibă un impact pozitiv asupra reputației. Aici, mi se pare, și totul pentru a începe cu.

Aș vrea să doresc să nu se teamă de propria lor de a se angaja în evoluțiile din acest domeniu. Există încă multe probleme, dar ele pot fi rezolvate, crede-mă. Și, ca o regulă - este mai ușor de a dezvolta un sistem pe cont propriu, decât pentru a găsi și de a personaliza lor.

articole similare