Uzņēmuma saite viesu grāmata php. Viesu grāmatas skripts PHP

Zharoznizhyuchі zasobi bērniem ir atzīts par pediatru. Esot radušās neērtas palīdzības situācijas drudža gadījumā, ja bērnam jādod noslēpums. Todi tēvi paši pārņem drudzi mazinošo zāļu daudzpusību un konsistenci. Vai ir atļauts dot bērniem krūtis? Kā jūs varat pārspēt vecāku bērnu temperatūru? Kādi ir labākie?

Šajā rakstā mēs redzēsim, kā mēs varam viegli izveidot viesu grāmatu, izmantojot PHP un MySQL. Tas ir ļoti vienkāršs un taisni. Viss, kas mums vajadzīgs, ir:

  • Tīmekļa serveris vai mitināšanas konts
  • phpMyAdmin vai kaut kas līdzīgs piekļuvei datu bāzei

Pirmkārt, mums ir jāizveido datu bāze un nepieciešamās tabulas. Dodieties uz savu vadības paneli (cPanel vai kaut ko citu) un dodieties uz datu bāzēm. Izveidojiet jaunu datu bāzi. Ievērojiet datu bāzes nosaukumu. Tagad izveidojiet lietotāju un pievienojiet lietotāju šai datubāzei. Ja jums tas šķiet grūti, lūdzu, sazinieties ar sava mitināšanas pakalpojumu sniedzēja klientu apkalpošanas dienestu. Process ievērojami atšķiras atkarībā no resursdatora atkarībā no nodrošinātā vadības paneļa. Lūdzu, ņemiet vērā pilnu datu bāzes nosaukumu, lietotājvārdu un datu bāzes resursdatoru. Vairumā gadījumu datu bāzes resursdators ir "localhost". Bet daži pakalpojumu sniedzēji lūdz klientiem izmantot attālo mysql resursdatoru. Tādā gadījumā, lūdzu, ņemiet vērā, ka saimniekdators ir nolaists. Ja izmantojat WAMP serveri operētājsistēmā Windows, dodieties uz vietni http://localhost / phpmyadmin / un tur iegūsit opcijas.

Tagad mēs esam gatavi importēt tabulu. Dodieties uz phpMyAdmin, atlasiet izveidoto datu bāzi un izmantojiet šādas SQL komandas, lai izveidotu tabulu:

IZVEIDOT TABULU, JA NAV `komentāri` (` id` int (11) NOT NULL AUTO_INCREMENT, `name` varchar (255) NOT NULL,` email` varchar (255) NOT NULL, `vietne` varchar (255) NOT NULL, "Ziņojuma" teksts NAV NULL, laika zīmogs" int (255) NOT NULL, PRIMARY KEY ("id")) ENGINE = MyISAM DEFAULT CHARSET = latin1 AUTO_INCREMENT = 1;

Labi, ja izpildīsit komandu, mums būs tabula ar nosaukumu "komentāri" ar 6 laukiem. Lauks "ID" ir primārā atslēga un unikālais identifikators. Pārējie lauki ir - vārds, e-pasts, vietne, ziņojums un laika zīmogs. Laika zīmoga laukā tiek saglabāta unix laikmeta vērtība (cik sekundes ir pagājis pēc 1970. gada 1. janvāra). Tas tiks ģenerēts, izmantojot php laika () funkciju. Pārējie lauki ir pašsaprotami.

Tagad mēs izveidosim konfigurācijas failu, kas tiks izmantots mysql savienojuma datu glabāšanai. Izveidojiet failu ar nosaukumu "config.php" un ievietojiet tajā šādus kodus:

Tātad, config.php ļauj izmantot savus konfigurācijas datus. Jūtieties brīvi mainīt mainīgo vērtības, lai tās atbilstu jūsu iestatījumam.

Tagad mēs izveidojam pirmo lapu. Izveidojiet failu ar nosaukumu "index.php" un ievietojiet tajā šādus kodus:

Mana mazā viesu grāmata

Publicēt komentāru:

Vārds:

E-pasts:

Tīmekļa vietne:

Ziņa:

Esošie komentāri:

Vārds:($ komentārs ["vārds"])
"; Atbalss" E-pasts:($ komentārs ["e-pasts"])
"; Atbalss" Tīmekļa vietne:($ komentārs ["vietne"])
"; Atbalss" Ziņa:($ komentārs ["ziņa"])
"; Atbalss" Ievietots:".Datums (" Y-d-m H: i: s ", $ komentārs [" laikspiedols "])."

"; } } ?>

Tātad, ko dara šis skripts? Tam ir html veidlapa, lai aizpildītu nepieciešamos datus. Pēc veidlapas mēs ienesam visus datubāzē saglabātos komentārus un parādām tos lapā. Ja komentāri netiek atrasti, mēs to arī izdrukājam. Vai pamanījāt, ka veidlapas darbība ir "post.php"? Jā, veidlapas dati tiks nosūtīti uz posts.php, kas apstrādās laukus un saglabās tos datu bāzē. Tātad, izveidosim kasti post.php un ievietojiet šādus kodus:

Mana mazā viesu grāmata

Šajā lapā mēs pārbaudām, vai visi lauki ir aizpildīti. Ja nē, mēs lūdzam izdrukāt kļūdas ziņojumu. Ja visi lauki ir aizpildīti, mēs cenšamies saglabāt saturu datu bāzē. Mēs izveidojam laikspiedola vērtību, izmantojot laiku () un iegūstam atslēgas no mainīgā $ _POST. Ja datu bāzes ievietošana neizdodas, mēs arī izdrukājam kļūdas ziņojumu. Ja viss ir kārtībā, mēs pārsūtām apmeklētāju uz index.php, kur viņš vai viņa varēs redzēt komentārus tieši zem formas.

Mēs esam pabeiguši mūsu mazo viesu grāmatu. Tas nav tik bagāts ar funkcijām, bet tas darbojas! Nākamajās ziņās mēs redzēsim, kā mēs varam to modificēt, lai pievienotu validācijas, lappušu un ajax mijiedarbību. Sekojiet līdzi!

Es aprakstīšu šo gadu, mabut, saīsināšu štatu iesācējiem Pārvietojot PHP programmu - Viesu grāmata... Manā skatienā izstrādes process ir visvienkāršākais, bet ar visām atļaujām zināt visas galvenās robota funkcijas ar PHP un bāzi Danih MySQL... Krym, uzdevums tiek dots līdz paplašināšanas beigām, lai varētu redzēt jaunas tehnoloģijas.

Dotā apzīmējuma apraksts un noformējums tiks ierakstīts uzreiz šeit, bez izmaiņām patronāžā, tāpēc, iespējams, atvainojos. Cena tiek lauzta nevis caur manu līniju, bet atkal caur papildapmācību, ar viesu grāmatas atvēršanu. Tātad pats risinājums būs "greizs", bet arī statistikas statistikā sadaļā "Self-styled Robot".

Ja nezināt, kā to izdarīt ar PHP, tad vienkārši izlasiet PHP piezīmi, lai uzzinātu mazliet — kāpēc gan ne.

Paņemsim pašu primitīvāko viesu grāmatu, bez dizaina un administrēšanas. Citiem vārdiem sakot, mums apkārt ir ieeja grāmatā, labi un nevajadzīgi pārstrukturējoties.
Jau no paša sākuma ir daudz gaismas, ko var sapīties ar trim php failiem, šī projekta īstenošanai. Zvychayno zavdannya restaurāciju var uzlauzt uz divām durvīm: atjaunošanas forma un ziedojumu pievienošana bāzei, tomēr mēs nestrādāsim. Analoga nopratināšana ir pieļaujama un procedūrai nevajadzīgi komentāri. Šajā secībā ir trīs faili: index.php, register.php, book.php.

Jau no failiem to uzreiz var redzēt, par smirdēšanu uzvedīs: index.php - ieraksta saite, register.php - re-entry link, book.php - viesu grāmatas puse.

Nayprostishe mūsu vipad cenas pusē no ieejas. Tātad pieteikšanās un paroles likmes ievadīšanas rezultātā ir pieejama forma ziņojumu nosūtīšanai uz book.php pusi. Kā arī posilannya pusē ar restaurāciju. kundze:

Ieejiet viesu grāmatā

Pieslēgties:
parole:

Reєstratsіya

Drupatas redzēja tie, kam negaršo klusuma kods. Šeit ir mans HTML. Galvenais brīdis є tag formā kā pieņemt divus parametrus darbība, Kas ir balstīts uz lapas adresi, kad tiek ievadīts apstiprinājuma ziņojums, un parametru metodi Jebkurā veidā dotā forma tiks nosūtīta uz norādīto rakstu (vienkāršā veidā izšķir POST un GET). Veidlapas taga vidū ir lauki ievadei (input, select) kā atribūtam nosaukums... Šī atribūta vērtībām ir iespējams noraidīt ievadītos datus darbības veidlapas parametros norādītajā pusē. Visa vidējā forma noteikti ir ievade ar veidu Iesniegt Viņa suttai uzklikšķini uz pogas, kad tiek nosūtīts spiediens uz jaku un ziņojums tiek nosūtīts uz darbības pusi.

Brīnišķīgi ... Tagad mums jāpabeidz jaunā koristuvach atjaunošanas daļa. Uzreiz padomājiet par to, ko māte vēlas. Es esmu virulents, vienkāršai viesu grāmatai būs daudz māšu ar unikāliem pieteikumiem, kā arī paši muižnieki viņu tīmekļa vietnes adresē (yakscho win є). Tā kā mēs esam šeit, mēs vēlamies muižniecību par koristuvach, tas nozīmē, ka mēs varam apskatīt mūsu projektu datu bāzi.

Dodieties uz phpMyAdmin. Izveido tur bāzi ar gb. Tabulas apakšā ir iestatīta tabula Lietotāji ar šādiem laukiem:

Pieteikšanās varchar (50) unikāla // pieteikšanās koristuvach, unikāla lauka parole varchar (150) // parole www varchar (255) // vietņu adreses

Un tā kā mēs jau esam iekļuvuši bāzes redaktorā, tad varat uzreiz un domāt, kā mēs varēsim ar jums sazināties. Pie musu vipadku vesela daza cildenuma hto un ja ir pazaudejusi zinas, nu ne musu ziu tekstu. Tāpēc, lai gūtu panākumus, mūsu notikums bija numurēts. Ir parādījušies trīs no tiem, kas nozīmē, ka mēs varam viegli salocīt vienu ziņojumu tabulu ar aizskarošu struktūru:

Id int ai (auto_increment) primārā_atslēga // pašreizējā laika zīmoga noklusējuma numurs (pašreizējais) // laika zīmoga stunda, pēc vietnieka Straumēšanas datums i stunda

No danikh rozibralisya pamatnes. Tagad dodieties uz register.php failu. Saņemot somu rokassomiņai:

Reєstratsіya

Pieslēgties:
parole:
Paroli, atkal:
WWW: http://


Uz galvas

Troči par kodu. Jaku V jau atcerējās, te ir PHP klātbūtne. Formu vairs neaprakstīšu, kaut vai kā bachimo, te formas danis ir uzlikts vienā pusē, forma ir atvilkta. Citiem vārdiem sakot, fails register.php pāriet pats. Tātad tas nav robotizēts, taču jums par to nav jāuztraucas, jo kodu ir ļoti viegli nolasīt. Tomēr, no otras puses, tas skaidri parāda PHP spēku. Dienā mūsu puse ir sadalīta divos pilienos. Pirmais vipadok ir, ja POST tiek nosūtīts uz pusi ar padevi, vēl viens vipad, ja nav POST nosūtīts uz pusi. Citam parādīta restaurācijas veidlapa, pirmajai svarīgāk ir vizuāli pārskatīt minētos veltījumus. Asociatīvā masīva skatā (tobto masīvs ar tādiem indeksiem kā є rindas) var redzēt peldošos datus. Turklāt indekss tiek pievienots ievades lauku nosaukumiem, kas norādīti datu iesniegšanas formā. Tobto yaksho mi rakstīt

tad pie mums, ja ziņu nosūta, POST iebaro, būs minimāli

$ _POST ["vasa-peta"]

Tāpēc ir sevi cienoši, ka jebkādas atkārtotas pieteikšanās izmaiņas nav stabilas. Perversija ir dota Ja jūs gatavojaties būt, pamatojoties uz datiem, jo ​​pieteikšanās lauks ir apzīmēts kā unikals.

Tagad apstājieties. Pati viesa grāmata bija iestrēgusi. Troči mіrkuvan. Tā kā viesu grāmata darbojas ar pieteikumvārdu un paroli, tad pirmais, kas mums jādara, ir atkārtoti pārveidot pieteikšanās un paroles ierakstus bāzē. Tātad, tā kā esam to atjauninājuši pašā book.php failā, tad skaidrs, ka pie vainas ir papildu procedūra. Nu visu laiku tēla pašās beigās. (Tiklīdz tas tiek pievienots skatam, kad tas tiek parādīts, tas parādās tikai tad, kad puse ir pārrakstīta). kundze:

Viesu grāmata ";) Citādi (atbalss" Jūsu ziņa netiks saņemta!


"; } } ?>
"Vārds =" pieteikšanās "/> "Nosaukums =" parole "/>

"; Atbalss" Teksts: ". $ Rinda [" mes "]."
";)) Mysql_close ($ saite);?>

Ass ir pa dienu un viss. Yaksho kods ir 100% robotizēts, labs. Ja tas ir stulbi, tad radžas mēģinās izlabot piedošanu pats. Tagad daudz jautājumu.

Robota pašdarbība
Jaks jau runāja vālītē, ņemot vērā risinājumu "greizs". Ja Višče neko nesaprata, es tūlīt paskaidrošu. Varēji atzīmēt, ka book.php failā papildu komentāru veidā ir daži izkaisīti lauki, bet divi no tiem ir ievadījuši pieteikumvārdu un paroli. Či nav labs, Či nav tā? Mēģiniet izlabot dāņu īslaicīgās vikoristu sesijas (Yak pratsyuvati sesijas PHP valodā).
Centieties pielāgoties uzturam, kas atšķiras no funkcijas tukšs / iestatītsі iziet / mirt?
Mainiet vibratora barošanas avotu no pamatnes, lai, parādot izskatu, tiktu parādīta autora vietne.
Tiklīdz atceraties, datubāzes atslēgas akmeņu parole tiek ņemta no atvērtā skatītāja, bet viss nav labs. Rediģējiet kodu tā, lai bāzē tiktu ņemta vērā atslēgu krātuves paroles hash (piemēram, MD5 vai SHA1).

Es tev došu šogad viesu grāmatas skripts PHP valodā Nav noslēpums, ka tas ir diezgan populārs, un, ja to ir iespējams izmantot no administratora biroja, tad vienkārši ir nepieciešama viesu grāmata. І tsy statty jūs varat lejupielādējiet viesu grāmatas skriptu PHP Un arī es jums pastāstīšu par instalēšanas procesu.

Cik bieži cilvēki jautā viesu grāmatas skripts html vai javascript... Žēl, ka tādu Nikolaju nav, un tas nav iespējams, tāpēc, kas attiecas uz robotizēto viesu grāmatu, failā būtu jāieraksta nosaukums. Un tse zrobiti ni iekšā JavaScript, Ні, tim more, in HTML nelaimīgs.

Tagad kopējiet mapi viesis jūsu vietnes saknē. Dal jūsu vietnes malā viesu grāmatai ( http://jūsu_vietne/viesis).

Mēs pāriesim pie viesu grāmatas uzstādījuma. Ja vēlaties, dodieties uz adresi http://your_site/guest/admin.php... Ievadi paroli " admin"Es pāreju uz cilni pēc veiksmīgas autorizācijas" konfigurācija". Īss visu nalashtuvan apraksts:

  • im'ya skripts- ievadiet savu vārdu savas vietnes viesu grāmatā.
  • teksts vitannya- uzrakstiet jebkuru tekstu, kuru vēlaties redzēt, ja jūsu viesu grāmatas ir publicētas.
  • Reklāmas bloks- ja vēlaties ievietot sludinājumu viesu grāmatā, tad iekopējiet kodu centrālajā laukā. Ja tas ir stulbs, aizpildiet lauku tukšu.
  • Posilannya uz galvas vietu- ievietojiet ziņojumu savas vietnes sākumā.
  • Administratora e-pasts / skatītāju skaits- vkazhit sv_y e-pasts, Un arī vēlaties izvēlēties: vēlaties to nogriezt un nosūtīt uz savu pastu.
  • administratora parole- Norādiet savu paroli. nepārcenties" admin".
  • Vai tagad ieslēgt MODERUVANNYA?- ja pirms publicēšanas vēlaties nomainīt ādu, ieslēdziet opciju.
  • Vai izmantot pretsurogātpasta funkciju?- šeit varat ieslēgt sistēmu, lai atbrīvotos no surogātpasta, vai vibrēt vienu no trim opcijām: captcha, mystery vai matoperation. Ja vibrējat digitālo captcha, pievienojiet to pašu captcha labās puses tekstlodziņā.
  • Vai vēlaties izmantot pretplūdu funkciju?- ir dota iespēja vizualizēt nepareizos failus.
  • Vai esat aktīvs tekstā?- kā tu to saki" Tātad"Tas ir, lai ziņojumi ziņu tekstā būtu aktīvi. Tas ir labi cilvēkiem, kuri ar viņiem runā, bet jūsu viesu grāmata būs laba vieta surogātpasta izplatītājam.
  • Vai iespējot/atspējot grafiskos smaidiņus?- kā tu to saki" Tātad", Tad koristuvach var būt vikoristovuvati emocijzīmes.
  • Maks. dovzhina іmenі- koristuvach nosaukumā ir atļauti vairāki simboli.
  • Maks. jauna paaudze- korpusā ir pieļaujami vairāki simboli.
  • Blakus- notikumu skaits vienā pusē.
  • tuvojas- Sortuvannya par zrostannyam vai datuma maiņa, kas rakstīta pēc datuma.
  • āda- bezjūtīgs viglyad.

Faktiski ir liels skaits populārāko viesu grāmatu scenāriji... Ja es čukstus yogo, tad es gāju cauri ne mazāk kā divi desmiti un zupinivsya daudzu iemeslu dēļ.

1. Uz koshtovny hosting tikai tie, kas dod.
2. Skaistāks, ale, nevis obov'yazkovo. Tas ir lielisks viesis, lai par to jautātu, tāpēc tas ir nepieciešams (izmantojot manu formu), bet labi hakeris vienmēr ob_ide jūsu $ _GET, $ _POST, $ _COOKIE і $ HTTP_REFERER utt.
3. Džinja kontroli, kaut arī netieši, veic pati datu bāze (Atsevišķi tā var būt tikpat lieliska, kā šķiet - līdz 64 Kb).
4. Tātad, є, HtmlSpecialChars Bula vikoristan, nevis vicorist AddSlashes (es ļoti atvainojos, es zinu savu vainu, div. Nizche). Kad magic_quotes_gpc ir vietā, problēma nav iestatīt gostr, bet gan ale dirka drošā vietā (vadības panelī).
5. Tātad, tas ir labi, ir iespējams b і virіzati, ale іm'ya #[E-pasts aizsargāts]%#$^%$ nichim nav girshe nizh AF4ETX09T43... E-pasta un url є direktorijā varat izvēlēties skriptus.
6. Tsikavo, vai tie nav nesaprotami?

Є Vēl viens tsіkavih priyomіv skaits, piemēram, zahist tiek automātiski ievadīts caur attēlu (kā visā vietnē) http: //www.site/webmast/php/Security-Images-in-PHP/
...

Bildes netika būvētas, bet gan demonstrācijas muca. Aizbrauciet ne reizi, neredzot ciemiņu ar draugu. Ja apmeklējat vietni, tas nav viesis.

Starpvietņu skriptēšanas XSS anatomija
http://www.woweb.ru/index.htm/id/1073393942

Duzhe tsikavo, paldies.

Z.I. Yakbi Afftor, smagi strādājis, lai lasītu (і vіktut) stattі scho par visu vietni, tad zezumіv bi, par vārdiem yogo pratsya neprofesionāli. Varto vrahovuvati, lai redzētu iepriekšējos autorus un vismaz parūpētos par to - viņi jums uzrakstīja smaku.

Vai nav povaga? Vibachte yaksho kam izveidojies.

Ja man ir bail no stulbinātāja, tad lasīšu vēlreiz raksta pirmo rindkopu, nedomāju skatīties uz viesa nadziņu, bet, ja neparādīšu, varu uzrakstīt pret Viesim par to, ka klusi tikko sāk apgūt CGI, pat ne uzreiz nāk, kaut kas vienkāršs jālabo, vai pat ne uzreiz kļūst tik inteliģents, iespējams, piedod, tāpēc pievērsīsim pārāk daudz uzmanības citiem rakstiem autori.

Tātad no scenārija pārņemšanas viedokļa scenārijs ir neprofesionāls, un es neesmu profesionālis atlasītāja jomā, pirmajā rindkopā norādītais un izmaksas atbilst piesardzībai, piemēram, tas ir žēl, ka neizlasīja visu.

PS

Citāts:

Likums "Par autortiesībām un summām"
6. pants. Ob'єkt autortiesības. štābs
1. Autortiesības neapšaubāmi attiecas uz zinātnes, literatūras un mākslas radīšanu, kas ir radošās darbības rezultāts. atzinība un vērtība radīt, kā arī veids, kā jūs griežaties.
Jūs varat izlasīt Rashta šeit: http://www.febras.ru/~patent/copyright/2_3part2.html
Turklāt 9.panta 1.punkts
Es nevēlos būt pārliecināts par savām tiesībām to darīt.

Koda testēšana var tikt iztukšota, taču testa redzamība var izraisīt vēl nopietnākus iztukšošanas iemeslus. Pārbaudē mums būs raksta kopija, lai efektīvāk rakstītu un pārbaudītu mūsu kodu.

Ko nozīmē iziet cauri testa gultai?

Par datorprogrammas ausi un pateicību viņi cīnījās par varu. Parādība ir neizbēgama. Lielākā daļa programmu Navit kļuva par šo anomāliju upuri. Nav bezsirdīgs kods. Axis chomu mi vikoristovuєmo testuvannya. Programmētāji, kuri gribēs to darīt, mainīs savu kodu, darbinot to savās robotu mašīnās, tad viņi apgriezīsies, ja vainīgi, ja vainīgi.

Izplatīšana caur testu daudz programmēšanas tehnoloģiju, piemēram, vienas stundas programmēšanas koda rakstīšana un jaunu programmu testi. Tse garants, jūsu protesta kods - un ļauj ātri un vienkārši pārbaudīt savu kodu, kā arī automatizācijas procesu.

Jak tse pratsyuє?

Izplatīšana, izmantojot testēšanu vai TDD є īss iteratīvs izplatīšanas cikls:

  1. Pirms jebkura koda rakstīšanas ir jāuzraksta testaments jaunam. Rakstot automātiskos testus, ir jāņem vērā visi iespējamie ievades dati, piedošana un ievades dati. Izmantojot šo pieeju, jūsu domas netiks saistītas ar kādu kodu, piemēram, pareizrakstību.
  2. Pirmajā reizē, palaižot automātisko testu, smirdēšana beidzas ar neveiksmi, kas nozīmē, ka jūsu kods vēl nav gatavs.
  3. Jūs varat sākt rakstīt pirms programmas. Tiklīdz pārbaude jau notiek un kods tiek testēts, tā nebeidzas ar kļūmi, kas nozīmē, ka kods vēl nav gatavs. Kods var tikt mainīts labojot, ja nepieciešams iziet cauri visiem labojumiem.
  4. Tiklīdz kods ir sekmīgi izturējis testu, to var notīrīt ar papildu pārveidošanu. Līdz mierīgi, ja kods ir veiksmīgi nokārtojis testu, varat to izmantot pareizi un agrāk. Jums vairs nav jāceļo par čūskām, kas var jūs nogādāt Bahamu salās.
  5. Es zinu, ka atkārtoju ciklu ar to pašu metodi vai programmu.

Vidmіnno, bet kāpēc tas ir skaistāks par čūskas mīklu?

Ja jūs palaidāt garām mīklu ar programmām vienkāršā veidā, tad:

  • Mēs to redzējām, tiklīdz tas būs otrajā stundā, tā ka tika ieviestas pat dažas izmaiņas.
  • Vai jūs uzskatījāt sevi par ledus apliecinājumu visam, ko zināt?
  • Jums nav bijis pietiekami daudz stundas testēšanai, tāpēc kā projekta vadītājs esat finansējis veiksmīgu palaišanu?
  • Vai tu dabūji no tā, protestē rīt?
  • Vai esat redzējuši perevagu mīļoto TV šovu testuvannya?

Lielākajai daļai veidu nav nekāda sakara ar to, un jūs varat veiksmīgi palaist kodu ražošanai bez problēmām. Ale Inodi, visi būs navpaki. Grimstošā kuģī esi iecerējis salabot tūkstoš droku, tajā stundā āda būs jauna. melodiski vi negribēja b atrasties situācijas apakškopā.

TDD buv no programmas atvēršanas, lai likvidētu mūsu vypravdannya. Ja programma ir ielauzta TDD uzvarās, mēs varam ātri un efektīvi uzglabāt jaunas izmaiņas. Viss, kas mums jādara, ir palaist automātiskos testus! Ja visi pārbaudījumi ir izturējuši, tad ir iespējams sabrukt distanci, ja tā nav, tad tas nozīmē, ka mūsu nelietība ir sabojāta. Zinot, ka pati testu daļa ir kritusi, mēs varam viegli mainīt, kurā daļā mūsu vīnu viņi ir pārkāpuši kodu un ātro labojumu.

ES to nopirku. Jak mi tse zrobimo?

Isnu bez PHP automatizētiem ietvariem testēšanai, jo tas var būt uzvarošs. Visizplatītākais to lietojums ir PHPUnit.

PHPUnit ir pielāgota testēšanas sistēma, ko var viegli integrēt jūsu dizainā un dizainā, papildinot to ar populārajām PHP ietvariem.

Mūsu vajadzībām mums nav nepieciešama funkcija bez funkcijām, jo ​​mēs piedāvāsim PHPUnit. Mēs aizstāsim jauno ar vienkāršo SimpleTest ietvaru.

Uzsākot kroksus, jāatzīst, ka mēs izstrādājam viesu grāmatas programmu, lai varētu lasīt un aplūkot ierakstus. Tiek atzīts, ka būla izkārtojums ir pabeigts, un es vienkārši atveru klasi, kas ir atriebība loģikas papildinājums viesu grāmatas, dedatok ievietot ierakstus un lasīt no bāzes danih. Mēs izplatīsim un pārbaudīsim daļu, jo jūs to varēsiet izlasīt lasīšanai.

Krok 1. Nalashtuvannya SimpleTest

Vienkāršākais kroks ar ūsām. Navi tsei lad zmig bi zrobiti tse:

Croc 4. Spēlējiet spēli vigrati

Tiklīdz esat pabeidzis koda rakstīšanu, palaidiet testu. Pirmajā reizē smirdēja paklausīgi beidzas ar neveiksmi... Ja tas tā nav, tad labāk neko nepārbaudīt visiem vīratēviem.

Palaidiet testu, vienkārši atveriet failu viesu grāmata_tests.php savā pārlūkprogrammā. Lūk, kā to spēlēt ar jums:

Tse kļuva, lai tsikh pirms tsikh viesu grāmatas klase vēl nebija atvērta. Lai pabeigtu procesu, es atveru guestbook.php failu visās direktoriju klasēs. Visa klase atriebsies par metodi, jo ir iespējams par to atriebties, bet pagaidām nav jāatriebjas ne par ko. Atcerieties mani, es rakstu savam sievastēvam, un potim kods, Jaky mīkla.

Ja es protu palaist testu, tad rezultāts būs redzams šādi:

Jak mi bachimo, mūsu pārbaude arī turpmāk neizdosies. Es mēģināšu radikāli iegrimt neveiksmē.

Krok 5. Virishuєmo vīratēvs rakstīts uz kodu

Turklāt, ja mums ir automatizēti testi, mēs varam uzrakstīt kodu. vidkryєmo klase viesu grāmata.php un tas ir mūsu pārbaudes dēļ.

"Kirk", "message" => "Sveiks, es \" m Kērks. "), Array (" vārds ="=>" Ted "," ziņojums ="=>" Sveiki, es \ "m Ted.")); publiskā funkcija viewAll () (// Šeit mums vajadzētu izgūt visus ierakstus no datu bāzes. // Tas tiek simulēts, atgriežot $ _entries masīvu return self :: $ _ entries;) publiskā funkcija add ($ nosaukums, $ ziņojums) (// Šeit mēs simulējam ievietošanu datu bāzē, pievienojot jaunu ierakstu masīvā $ _entries // Tas ir pareizais veids, kā to izdarīt: self :: $ _ entries = masīvs ("nosaukums" => $ nosaukums, " ziņojums "=> $ ziņojums); self :: $ _ ieraksti = masīvs (" notname "=> $ nosaukums," notmessage "=> $ ziņojums); // ak, tur" šī kļūda šeit kaut kur atgriež true;) publiskā funkcija deleteAll () (// Mēs tikko iestatījām $ _entries masīvu, lai simulētu sevi :: $ _ entries = masīvs (); return true;))

Tsei class guestbook.php, lai atriebtos par kļūdām, kuras mēs varam zināt, ja mūsu pārbaudījums krīt.

Ja testu var palaist, nākamais solis ir mierīgs:

Testos es mums testā rādīšu zīmējumu, bet betonētajā mūsu kods krīt. No šī brīža mēs varam viegli kaut ko mainīt, taču sacietēšana 16 un 17 rindās beidzās ar neveiksmi.

assertTrue (isset ($ ieraksts ["nosaukums"])); $ This-> assertTrue (isset ($ ieraksts ["ziņa"])); ... ... ...)

Tas skaidri parādīs, ka masīvu pagriešana neatriebjas par pareizajiem taustiņiem. Patiešām, tagad mūs var viegli pamanīt, jo daļa no mūsu koda nav atbilstoša ranga,

$ Vārds, "ziņa" => $ ziņojums); // fiksēts! atgriezt patiesu; ) ... ... ...)

Tagad mēs sākam mūsu testu:

Croc 6. Refaktorings

Tātad jaku kods, kāda te mīkla, lai vienkāršību pabeigtu, mūsu fiksi bugs tika cauri, lai ātri pabeigtu. Ale yakbi tse bulo liels salokāms dodatok, jums būs iespēja mainīt savu kodu, tāpēc tas ir vieglāks nekā pidtrimuvati. Problēma šeit ir tā, ka lielāko daļu laika ir jaunas kļūdas. Ass de mums pievienot automatizētus testus - tā kā tiek ieviestas tikai izmaiņas, es tikai zinu, kā palaist testu. Tiklīdz smaka zina veiksmīgi pāriet, tad tas nozīmē, ka nekas nav pārmests. Ja tas beidzas ar neveiksmi, tad mēs šeit esam apžēlojuši. Smaka tūliņ pateiks, ka mums piedod, un labāk par visu, ko var labot.

Croc 7. Atkārtojiet kolu

Ja jūsu programma vēlas jaunu funkcionalitāti, jums ir jāuzraksta jauns tests. Tas ir viegli! Atkārtojiet procedūru ar citu krūzi (piemēram, SimpleTest, pat lai veiktu regulējumus un noteikumus), un salabojiet plāksteri.

visnovok

Ir daudz ērti lietojamu rakstu par mārketinga tēmu, veicot testēšanu ar lielākiem testiem, un zem SimpleTest varat pārvietoties ar lielākiem funkcionāliem rīkiem - piemēram, izspēles rīkiem, stubs, kas palīdz atvieglot testu rakstīšanas procesu. . Ja vēlaties lasīt vairāk, Vіkіpedіya puse par rozrobku caur testa braucienu novirzīs jūs uz vēju. Kamēr jūs plānojat reklamēt vicoristovuvati, izmantojot savu SimpleTest testa sistēmu, es ievēroju tiešsaistes dokumentāciju un iepazīstos ar papildu iespējām.

Testēšana nav liela izstrādes cikla sastāvdaļa, protests, bieži vien tiek nosūtīts termiņos. Es aicinu jūs izlasīt visu statūtu un pārbaudīt, cik svarīgi ir ieguldīt kastē.

Kādas ir jūsu domas par rakhunok on rozrobka caur mīklu? Jūs tse tsіkavo chi navpaki vi vvazhaєte tse dīkstāves laikā otrajā stundā? Raksti komentāros!

Gatavojieties projektam - lūdzu, paldies!
Izlasi arī
Sberbank (tajā pašā Oschadbank) Sberbank (tajā pašā Oschadbank) Autocad Chi licences problēmu risinājums nepalaiž autocad Windows 7 Autocad Chi licences problēmu risinājums nepalaiž autocad Windows 7 Norādījumi CryptoPro PIN koda reģistrēšanai pirms dažu dokumentu noformēšanas stundas - Instrukcijas - AT Norādījumi CryptoPro PIN koda reģistrēšanai