Guest book sa PHP. Idagdag ang iyong review dito

Ngayon ay ilalarawan ko marahil ang pinakamahusay na gawain para sa mga nagsisimula ng PHP programming language - Guest Book. Sa palagay ko, ang gawaing ito ay ang pinakasimpleng, ngunit sa parehong oras pinapayagan ka nitong matutunan ang lahat ng mga pangunahing tampok ng pagtatrabaho sa PHP at MySQL database. Bilang karagdagan, ang gawaing ito ay walang katapusan na napapalawak, na nagbibigay-daan sa iyo upang mahasa ang mga bagong teknolohiya.

Ang paglalarawan at solusyon sa problemang ito ay isusulat dito mismo, nang walang pagsubok para sa pag-andar, kaya marahil mayroong isang typo sa isang lugar. Ginawa ito hindi dahil sa aking katamaran, ngunit muli dahil sa karagdagang pagsasanay kapag gumagawa ka ng guest book. Gayundin, ang ipinakita na solusyon ay magiging isang maliit na "baluktot", ngunit higit pa doon sa dulo ng artikulong ito sa seksyong "Independiyenteng gawain".

Kung hindi mo alam kung paano magtrabaho sa PHP, pagkatapos ay ipinapayo ko muna sa iyo na basahin ang artikulong PHP - kung saan magsisimula.

Susuriin namin ang paglikha ng pinaka-primitive na guest book, nang walang disenyo at pangangasiwa. Sa madaling salita, lilimitahan natin ang ating sarili sa pag-log in sa aklat, pagrerehistro at pag-iiwan ng mga mensahe.
Mula sa mismong gawain, nagiging malinaw na maaari nating ganap na limitahan ang ating sarili sa tatlong PHP file upang ipatupad ang gawaing ito. Siyempre, ang gawain sa pagpaparehistro ay maaaring nahahati sa dalawa: ang form ng pagpaparehistro at pagdaragdag ng data sa database, ngunit hindi namin ito gagawin. Ang katulad na pangangatwiran ay wasto para sa pamamaraan para sa pag-iiwan ng mga komento. Kaya, gumawa kami ng tatlong file: index.php, registration.php, book.php.

Sa pamamagitan ng mga pangalan ng mga file, maaari mong agad na maunawaan kung ano ang magiging pananagutan nila: index.php - login page, registration.php - registration page, book.php - guest book page.

Ang pinakasimpleng bagay sa aming kaso ay ang login page. Dahil responsable ang page sa pagpasok ng pares ng login at password, dapat itong maglaman ng form para sa pagpapadala ng data na ito sa page ng book.php. At isang link din sa pahina ng pagpaparehistro. Mayroon kaming:

Mag-login sa guest book Login:
Password:

Pagpaparehistro

Medyo lumayo sa paksa, para sa mga hindi alam kung ano ang ibig sabihin ng code sa itaas. Narito mayroon kaming hubad na HTML. Ang pangunahing punto ay ang tag ng form, na tumatanggap ng dalawang parameter ng pagkilos, na responsable para sa address ng page na magbubukas pagkatapos kumpirmahin ang entry ng data, at isang parameter ng paraan, na sumasagot kung paano ipapadala ang data ng form sa tinukoy na page (tingnan ang POST at GET sa simpleng salita). Sa loob ng tag ng form, tinukoy ang mga patlang ng input (input, piliin), na dapat ay may katangian ng pangalan. Sa pamamagitan ng halaga ng attribute na ito, posibleng makuha ang data na ipinasok ng user sa page na tinukoy sa parameter ng action form. Sa loob ng form ay dapat mayroong isang input na may uri ng pagsusumite, na mahalagang isang pindutan, kapag na-click, ang data ay ipapadala sa pahina ng pagkilos.

Magpatuloy tayo... Ngayon kailangan nating gumawa ng bagong pahina ng pagpaparehistro ng user. Ito ay nagkakahalaga ng pag-iisip kaagad tungkol sa kung ano ang eksaktong gusto nating magkaroon. Napagpasyahan ko na para sa isang simpleng guest book ay sapat na na magkaroon ng mga user na may mga natatanging login, pati na rin ang malaman ang address ng kanilang Web site (kung mayroon man). Kapag nakapagpasya na kami kung ano ang gusto naming malaman tungkol sa user, maaari na naming simulan ang pagdidisenyo ng aming database.

Pumunta sa phpMyAdmin. Gumawa tayo ng database doon na may pangalang gb. Sa database na ito, gagawa kami ng table Users na may mga sumusunod na field:

Mag-login varchar(50) unique //user login, unique field password varchar(150) //password www varchar(255) //website address

At dahil nakapasok na tayo sa database editor, maiisip natin agad kung paano tayo mag-iimbak ng mga mensahe. Sa aming kaso, medyo angkop na malaman kung sino ang nag-iwan ng mensahe at kung kailan, at ang aktwal na teksto ng aming mensahe. Gayundin, para sa kaginhawahan, sulit na bilangin ang aming mga mensahe. Napagpasyahan namin ito, na nangangahulugang maaari kaming ligtas na lumikha ng isa pang talahanayan ng Mga Mensahe na may sumusunod na istraktura:

Id int ai(auto_increment) primary_key //message number, counter, na mismo ay magpapataas ng mes text //message text who varchar(50) //login ng taong nag-iwan ng message noong timestamp default(current) //time of leaving ang mensahe, ayon sa default na kasalukuyang petsa at oras

Inayos namin ang database. Ngayon ay lumipat tayo sa registration.php file. Pagbubuod sa itaas na mayroon tayo:

Pag-login sa Pagpaparehistro:
Password:
Password muli:
WWW: http://


Bahay

Medyo tungkol sa code. Tulad ng napansin mo na, ang PHP ay naroroon. Hindi ko na ilalarawan ang form, ngunit tulad ng nakikita natin, dito ipinapadala ang data ng form sa parehong pahina kung saan matatagpuan ang form na ito. Sa madaling salita, ang registration.php file ay nagpapadala ng data sa sarili nito. Walang sinuman ang nagbabawal sa paggawa nito, ngunit hindi mo ito magagamit palagi, dahil lubos nitong nasisira ang pagiging madaling mabasa ng code. Gayunpaman, sa kabilang banda, malinaw na ipinapakita nito ang mga kakayahan ng wikang PHP. Sa pangkalahatan, ang aming pahina ay nahahati sa dalawang kaso. Ang unang kaso ay kapag ang data ay ipinadala sa page sa pamamagitan ng isang POST request, ang pangalawang kaso ay kapag walang POST request na ipinadala sa page. Sa pangalawang kaso, ipapakita namin ang form ng pagpaparehistro, at sa unang kaso magsisimula kaming suriin ang isinumiteng data. Tulad ng nakikita mo, ang data ay ipinadala sa anyo ng isang associative array (ibig sabihin, isang array na ang mga indeks ay mga string). Bukod dito, ang mga indeks ay nag-tutugma sa mga pangalan ng mga field ng input na tinukoy sa form ng pagsusumite ng data. Yung. kung magsusulat tayo

pagkatapos, kapag ipinadala ang data na ito na may kahilingan sa POST, magkakaroon tayo ng variable

$_POST["vasa-peta"]

Nararapat ding tandaan na hindi kami gumagawa ng anumang pag-uulit na pagsusuri sa pag-login. Isasagawa ang pagsusuring ito sa antas ng database, dahil ang field sa pag-login ay minarkahan bilang natatangi.

Ngayon ang huling bagay. Ang natitira na lang ay gawin ang guest book mismo. Konting diskusyon. Dahil gumagana ang guest book gamit ang login at password, ang unang bagay na kailangan nating gawin ay suriin ang inilagay na login at password para sa availability sa database. Dahil nagpasya kaming magdagdag ng mga mensahe sa book.php file, malinaw na dapat sundin ang pamamaraan para sa pagdaragdag ng mensahe. Well, sa pinakadulo, isang pagpapakita ng lahat ng mga mensahe. (kung nagdagdag ka ng mensahe pagkatapos ipakita ang mga ito, ang idinagdag na mensahe ay ipapakita lamang pagkatapos ma-reload ang pahina). Mayroon kaming:

Guestbook