ទម្រង់សាមញ្ញបំផុតនៃការផ្ញើទិន្នន័យតាមអ៊ីមែលដោយប្រើ HTML និង PHP ។ ទម្រង់ HTML ។ វិធីសាស្ត្របញ្ជូនទិន្នន័យទៅម៉ាស៊ីនមេដោយប្រើទម្រង់មួយ។ /php/php5ru.png HTTP/1.0៖ www.php5.ru អ្វីដែលអ្នកនឹងឃើញប្រសិនបើអ្នកត្រូវមើលវានឹងភ្លឺពេញអេក្រង់ png- ឯកសារនៅក្នុងកម្មវិធីនិពន្ធអត្ថបទ។ ទម្រង់ HTML ។ វិធីសាស្ត្របញ្ជូនទិន្នន័យទៅម៉ាស៊ីនមេដោយប្រើទម្រង់មួយ។ កម្មវិធីមួយក្នុងចំណោមកម្មវិធីទូទៅបំផុតនៃភាសាស្គ្រីបម៉ាស៊ីនមេណាមួយគឺដំណើរការ HTML- ទម្រង់។ ការសរសេរកម្មវិធីគេហទំព័រភាគច្រើនពាក់ព័ន្ធនឹងការដំណើរការធាតុចូលរបស់អ្នកប្រើប្រាស់ផ្សេងៗ។ RNRជួយសម្រួលដល់កិច្ចការនៃដំណើរការ និងញែកទម្រង់ដែលទទួលបានពីកម្មវិធីរុករក ដោយសារសមត្ថភាពចាំបាច់ទាំងអស់ត្រូវបានបង្កើតឡើងជាភាសានៅកម្រិតទាបបំផុត។ ដូច្នេះហើយ អ្នកសរសេរកម្មវិធីក៏មិនត្រូវគិតអំពីលក្ខណៈនៃពិធីការដែរ។ HTTPហើយឆ្ងល់ថាតើការផ្ញើនិងទទួលកើតឡើងយ៉ាងដូចម្តេច ជាមួយ HTML-ទម្រង់ដែលអ្នកបានជួបប្រទះរួចហើយ ពេលកំពុងសិក្សាភាសាសម្គាល់ HTML. សូមក្រឡេកមើលឧទាហរណ៍នៃការផ្ញើសារពីទម្រង់មួយតាមរយៈអ៊ីមែល។ ការចុះបញ្ជី e_mail.html ។ការផ្ញើសារពីទម្រង់តាមរយៈអ៊ីមែល ការផ្ញើទម្រង់បែបបទតាមអ៊ីមែល ចុចកំណត់ឡើងវិញហើយបំពេញការបញ្ជាទិញ។ ឈ្មោះរបស់អ្នក៖ អាសយដ្ឋានរបស់អ្នក៖ ផ្ញើ៖ ប្រសិនបើអ្នកដំណើរការកូដ HTML នេះជាមួយកម្មវិធីរុករកតាមអ៊ីនធឺណិត ទំព័របណ្ដាញនឹងត្រូវបានបង្ហាញ ដែលអាចមើលឃើញនៅលើអេក្រង់ម៉ូនីទ័រ៖ អ្នកប្រើប្រាស់ចុចប៊ូតុងមួយ។ "កំណត់ឡើងវិញ"ហើយវាលយកតម្លៃលំនាំដើមរបស់វា។ ទម្រង់នេះត្រូវបានបំពេញដោយអ្នកប្រើប្រាស់ ហើយនៅពេលចុចប៊ូតុងមួយ។ "ផ្ញើការបញ្ជាទិញ"ផ្ញើទៅអាសយដ្ឋានអ៊ីមែលនេះត្រូវបានការពារពីសំបុត្រឥតប្រយោជន៍។ ដើម្បីមើលវា អ្នកត្រូវតែបើក JavaScript។ ជាធម្មតា កម្មវិធីរុករកតាមអ៊ីនធឺណិតមិនផ្ញើទម្រង់ដោយខ្លួនឯងទេ ប៉ុន្តែប្រគល់ការងារនេះទៅកម្មវិធីអ៊ីមែលដែលបានដំឡើងតាមលំនាំដើមនៅលើប្រព័ន្ធប្រតិបត្តិការរបស់កុំព្យូទ័រ (ឧទាហរណ៍ Outlook) ។ សំបុត្រត្រូវបានផ្ញើជាទម្រង់៖ ប្រធានបទ៖ ទម្រង់ដែលបានបញ្ជូនពី Microsoft Internet Explorer ឈ្មោះ = Prokhorov Viktor Sergeevich value=អាសយដ្ឋាន អ៊ីមែល នេះ ត្រូវ បាន ការពារ ពី សំបុត្រ ឥត ប្រយោជន៍ ផ្សេងៗ។ ដើម្បីមើលវា អ្នកត្រូវតែបើក JavaScript obj = "សេចក្តីណែនាំ" អក្សរនោះមានជាគូ ឈ្មោះ = តម្លៃដែលត្រូវបានជ្រើសរើសតាមលំដាប់ពីវាលទម្រង់។ ចូរយើងពិនិត្យមើលឱ្យកាន់តែច្បាស់នូវឧទាហរណ៍ខាងក្រោម។ ការចុះបញ្ជី form_1.html បញ្ចូលឈ្មោះរបស់អ្នក៖ ការរក្សាទុកកូដនេះនៅក្នុងឯកសារ HTML form_1.htmlហើយមើលវាដោយប្រើកម្មវិធីរុករក អ្នកអាចឃើញទម្រង់ HTML៖ ទម្រង់នេះត្រូវបានអនុវត្តដោយស្លាកកុងតឺន័រ . ស្លាកបង្ហាញលក្ខណៈរបស់វា៖ អាសយដ្ឋាននៃស្គ្រីបដែលទម្រង់នឹងត្រូវបានផ្ញើ; វិធីសាស្រ្តនៃការផ្ញើ និងលក្ខណៈនៃទិន្នន័យដែលមានក្នុងទម្រង់។ បឋមសិក្សា និងចុងក្រោយ ស្លាកកំណត់ព្រំដែននៃទម្រង់។ ការចង្អុលបង្ហាញរបស់ពួកគេគឺចាំបាច់។ គុណលក្ខណៈស្លាកកុងតឺន័រ (ស្រេចចិត្តទាំងអស់)៖ ? សកម្មភាព--លក្ខណៈដែលមានតម្លៃ URL- អាស័យដ្ឋាន (ពេញឬសាច់ញាតិ) នៃសំណើ ស៊ីជីអាយ- កម្មវិធី។ កម្មវិធីនេះនឹងដំណើរការទិន្នន័យដែលមានក្នុងទម្រង់។ វាអាចទទួលយកបានក្នុងការប្រើប្រាស់ធាតុចូល សំបុត្រ៖ URL ។ក្នុងករណីនេះ ទម្រង់បែបបទនឹងត្រូវបានផ្ញើតាមអ៊ីមែល។ ប្រសិនបើគុណលក្ខណៈ សកម្មភាពកុំបញ្ជាក់ មាតិកានៃទម្រង់នឹងត្រូវបានផ្ញើទៅ URLអាសយដ្ឋានដែលគេហទំព័រនេះត្រូវបានផ្ទុក នោះគឺ "ទៅខ្លួនវា"។ នេះជាអក្សរកាត់ដ៏ងាយស្រួល ប៉ុន្តែយោងទៅតាមស្តង់ដារ HTML គុណលក្ខណៈ សកម្មភាពទាមទារ។ ? វិធីសាស្រ្ត-- កំណត់វិធីសាស្រ្តមួយ។ HTTPប្រើដើម្បីផ្ញើទិន្នន័យទម្រង់ពីកម្មវិធីរុករកទៅម៉ាស៊ីនមេ។ គុណលក្ខណៈ វិធីសាស្រ្តអាចយកអត្ថន័យពីរ៖ ទទួលបានឬ ប្រកាស៖ ¦ ទទួលបាន- ផ្ញើទិន្នន័យទម្រង់នៅក្នុងរបារអាសយដ្ឋាន។ អ្នកប្រហែលជាបានកត់សម្គាល់ឃើញនៅលើគេហទំព័រផ្សេងៗនូវវត្តមានរបស់ "?" និងទិន្នន័យខាងក្រោមជាទម្រង់ ប៉ារ៉ាម៉ែត្រ = តម្លៃ។នៅទីនេះ "ប៉ារ៉ាម៉ែត្រ"ត្រូវគ្នានឹងតម្លៃគុណលក្ខណៈ ឈ្មោះធាតុទម្រង់ (សូមមើលខាងក្រោមអំពីស្លាក ) ក "អត្ថន័យ"- ខ្លឹមសារនៃគុណលក្ខណៈ តម្លៃ(ឧទាហរណ៍ វាមានបញ្ចូលអ្នកប្រើប្រាស់ទៅក្នុងវាលអត្ថបទនៃស្លាកដូចគ្នា។ ). ឧទាហរណ៍ ព្យាយាមស្វែងរកអ្វីមួយនៅក្នុង Yandex ហើយយកចិត្តទុកដាក់លើរបារអាសយដ្ឋាននៃកម្មវិធីរុករក។ នេះជាវិធី ទទួលបាន។ ¦ ប្រកាស- ទិន្នន័យទម្រង់ត្រូវបានផ្ញើនៅក្នុងតួនៃសំណើ។ ប្រសិនបើវាមិនច្បាស់ទាំងស្រុង (ឬមិនច្បាស់លាស់ទាំងស្រុង) ថានេះជាអ្វី កុំបារម្ភ យើងនឹងត្រលប់ទៅបញ្ហានេះវិញក្នុងពេលឆាប់ៗនេះ។ ប្រសិនបើគុណលក្ខណៈ វិធីសាស្រ្តមិនបានបញ្ជាក់ - បង្កប់ន័យ "ទទួលបាន". ? enctype-- គុណលក្ខណៈស្រេចចិត្ត។ បញ្ជាក់ប្រភេទមាតិកាទម្រង់ដែលបានប្រើដើម្បីកំណត់ទម្រង់ការអ៊ិនកូដនៅពេលបញ្ជូនវា។ IN HTMLតម្លៃដែលអាចមានពីរសម្រាប់គុណលក្ខណៈត្រូវបានកំណត់ enctype: ¦ កម្មវិធី/X-WWW-FORM-URLENCODED(លំនាំដើម) ។ ¦ ពហុភាគ/ទម្រង់-ទិន្នន័យ។ ស្លាក អនុញ្ញាតឱ្យអ្នកបង្កើតខ្សែអក្សរ ឈ្មោះឯកសារ ពាក្យសម្ងាត់។ល។ នៅខាងក្នុងប្រអប់បញ្ចូលទម្រង់។ គ្មានស្លាកបញ្ចប់។ លក្ខណៈនិងលក្ខណៈនៃការប្រើប្រាស់ អាស្រ័យលើរបៀបដែលវាត្រូវបានប្រើ។ ស្លាក - បញ្ជាក់ធាតុទម្រង់ដែលកំណត់ដោយគុណលក្ខណៈ ប្រភេទ: ¦ អត្ថន័យ "អត្ថបទ"បញ្ជាក់វាលបញ្ចូលអត្ថបទមួយជួរ។ ¦ អត្ថន័យ "ដាក់ស្នើ"បញ្ជាក់ប៊ូតុងដែលនៅពេលចុច ផ្ញើទម្រង់ទៅម៉ាស៊ីនមេ។ តម្លៃផ្សេងទៀតគឺអាចធ្វើទៅបាន (និង - មិនមែនជាស្លាកតែមួយគត់ដែលកំណត់ធាតុទម្រង់មួយ) ប៉ុន្តែយើងនឹងមើលពួកវានៅក្នុងជំពូកខាងក្រោម។ ដូច្នេះតើមានអ្វីកើតឡើងនៅពេលដែលប៊ូតុង OK ត្រូវបានចុច? 1. កម្មវិធីរុករកមើលធាតុដែលរួមបញ្ចូលក្នុងទម្រង់ និងបង្កើតពីគុណលក្ខណៈរបស់វា។ ឈ្មោះនិង តម្លៃទិន្នន័យទម្រង់។ ចូរនិយាយថាឈ្មោះត្រូវបានបញ្ចូល វ៉ាសាយ៉ា. ក្នុងករណីនេះទិន្នន័យទម្រង់៖ name=Vasya&okbutton=យល់ព្រម។ 2. កម្មវិធីរុករកបង្កើតការតភ្ជាប់ជាមួយម៉ាស៊ីនមេ ផ្ញើសំណើទៅម៉ាស៊ីនមេសម្រាប់ឯកសារដែលបានបញ្ជាក់នៅក្នុងគុណលក្ខណៈ សកម្មភាពស្លាក ដោយប្រើវិធីសាស្ត្របញ្ជូនទិន្នន័យដែលបានបញ្ជាក់ក្នុងគុណលក្ខណៈ វិធីសាស្រ្ត(ក្នុងករណីនេះ - ទទួលបាន) ឆ្លងកាត់ទិន្នន័យទម្រង់ក្នុងសំណើ។ 3. ម៉ាស៊ីនមេវិភាគសំណើដែលបានទទួល បង្កើតការឆ្លើយតប ផ្ញើវាទៅកម្មវិធីរុករក និងបិទការតភ្ជាប់។ 4. កម្មវិធីរុករកបង្ហាញឯកសារដែលទទួលបានពីម៉ាស៊ីនមេ។ ផ្ញើសំណើដូចគ្នាដោយដៃ (ដោយប្រើ តេណេត) មើលទៅដូចនេះ (សន្មតថាឈ្មោះដែនរបស់គេហទំព័រគឺ www.example.com). ទម្រង់ខ្លួនវាជាធម្មតាមានបំណងទទួលព័ត៌មានពីអ្នកប្រើប្រាស់សម្រាប់ការបញ្ជូនបន្តទៅម៉ាស៊ីនមេ ដែលទិន្នន័យទម្រង់ត្រូវបានទទួលដោយកម្មវិធីដោះស្រាយ។ កម្មវិធីបែបនេះអាចត្រូវបានសរសេរជាភាសាសរសេរកម្មវិធីផ្នែកខាងម៉ាស៊ីនមេណាមួយដូចជា PHP, Perl ជាដើម។ អាសយដ្ឋានកម្មវិធីត្រូវបានចង្អុលបង្ហាញនៅក្នុងលក្ខណៈសកម្មភាពនៃស្លាក ដូចដែលបានបង្ហាញក្នុងឧទាហរណ៍ 1 ។ឧទាហរណ៍ទី 1: ការបញ្ជូនទិន្នន័យទម្រង់HTML5 IE Cr Op Sa Fx ទិន្នន័យទម្រង់ ក្នុងឧទាហរណ៍នេះ ទិន្នន័យទម្រង់ដែលបង្ហាញដោយគុណលក្ខណៈឈ្មោះ (ចូល និងពាក្យសម្ងាត់) នឹងត្រូវបានបញ្ជូនទៅឯកសារនៅ /example/handler.php ។ ប្រសិនបើគុណលក្ខណៈសកម្មភាពមិនត្រូវបានបញ្ជាក់ នោះការផ្ទេរកើតឡើងទៅអាសយដ្ឋាននៃទំព័របច្ចុប្បន្ន។ការផ្ទេរទៅម៉ាស៊ីនមេកើតឡើងតាមវិធីពីរផ្សេងគ្នា៖ GET និង POST ដើម្បីកំណត់វិធីសាស្ត្រក្នុងស្លាក គុណលក្ខណៈវិធីសាស្រ្តត្រូវបានប្រើប្រាស់ ហើយតម្លៃរបស់វាគឺ get and post keywords ។ ប្រសិនបើគុណលក្ខណៈវិធីសាស្រ្តមិនត្រូវបានបញ្ជាក់នោះតាមលំនាំដើមទិន្នន័យត្រូវបានផ្ញើទៅម៉ាស៊ីនមេដោយប្រើវិធីសាស្ត្រ GET ។ នៅក្នុងតារាង រូបភាពទី 1 បង្ហាញពីភាពខុសគ្នារវាងវិធីសាស្ត្រទាំងនេះ។វិធីសាស្រ្តមួយណាដែលត្រូវប្រើអាចកំណត់យ៉ាងងាយស្រួលដោយរបារអាសយដ្ឋាននៃកម្មវិធីរុករក។ ប្រសិនបើសញ្ញាសួរលេចឡើងនៅក្នុងវា ហើយអាសយដ្ឋានមើលទៅដូចនេះ នោះពិតជា GET។http://www.google.ru/search?q=%D1%81%D0%B8%D1%81%D1%8C%D0%BA%D0%B8&ie=utf-8ការរួមបញ្ចូលគ្នានៃប៉ារ៉ាម៉ែត្រតែមួយគត់នៅក្នុងរបារអាសយដ្ឋានកំណត់អត្តសញ្ញាណទំព័រតែមួយ ដូច្នេះទំព័រដែលមានអាសយដ្ឋាន ?q=node/add និង ?q=node ត្រូវបានចាត់ទុកថាខុសគ្នា។ លក្ខណៈពិសេសនេះត្រូវបានប្រើដោយប្រព័ន្ធគ្រប់គ្រងមាតិកា (CMS, ប្រព័ន្ធគ្រប់គ្រងមាតិកា) ដើម្បីបង្កើតទំព័រគេហទំព័រជាច្រើន។ តាមការពិត ឯកសារតែមួយត្រូវបានប្រើដែលទទួលសំណើរ GET ហើយយោងទៅតាមវា បង្កើតមាតិកានៃឯកសារ។ខាងក្រោមនេះគឺជាកម្មវិធីធម្មតានៃវិធីសាស្រ្តទាំងនេះនៅលើគេហទំព័រ។ទទួលបាន ផ្ទេរទិន្នន័យអត្ថបទតូចទៅម៉ាស៊ីនមេ; ការស្វែងរកគេហទំព័រ។ម៉ាស៊ីនស្វែងរក និងទម្រង់ស្វែងរកគេហទំព័រតែងតែត្រូវបានផ្ញើដោយប្រើវិធីសាស្ត្រ GET នេះអនុញ្ញាតឱ្យអ្នកចែករំលែកលទ្ធផលស្វែងរកជាមួយមិត្តភក្តិ ផ្ញើតំណតាមសំបុត្រ ឬបង្ហោះវានៅលើវេទិកា។ប្រកាស ផ្ទេរឯកសារ (រូបថត បណ្ណសារ កម្មវិធី។ល។); ផ្ញើមតិយោបល់; ការបន្ថែម និងកែសម្រួលសារនៅលើវេទិកា ប្លក់។តាមលំនាំដើម ទម្រង់ត្រូវបានដំណើរការនៅក្នុងផ្ទាំងកម្មវិធីរុករកបច្ចុប្បន្ន ទោះយ៉ាងណាក៏ដោយ នៅពេលដាក់ស្នើទម្រង់ អ្នកអាចផ្លាស់ប្តូរប៉ារ៉ាម៉ែត្រនេះ ហើយបើកកម្មវិធីគ្រប់គ្រងទម្រង់នៅក្នុងផ្ទាំង ឬស៊ុមថ្មី។ ឥរិយាបថនេះត្រូវបានបញ្ជាក់តាមរយៈ "ឈ្មោះបរិបទ" ដែលជាតម្លៃនៃគុណលក្ខណៈគោលដៅនៃស្លាក . តម្លៃពេញនិយមគឺ _blank ដើម្បីបើកទម្រង់ក្នុងបង្អួច ឬផ្ទាំងថ្មី និងឈ្មោះស៊ុម ដែលត្រូវបានបញ្ជាក់ដោយគុណលក្ខណៈឈ្មោះរបស់ស្លាក (ឧទាហរណ៍ 2) ។ឧទាហរណ៍ទី 2៖ បើកទម្រង់ក្នុងស៊ុមHTML5 IE Cr Op Sa Fx ការប្រើប្រាស់ស៊ុម ក្នុងឧទាហរណ៍នេះ ពេលអ្នកចុចប៊ូតុង "ដាក់ស្នើ" លទ្ធផលនៃការដាក់ស្នើទម្រង់នឹងបើកក្នុងស៊ុមមួយដែលហៅថាផ្ទៃ។ធាតុទម្រង់ត្រូវបានដាក់ជាប្រពៃណីនៅក្នុងស្លាកមួយ។ ដោយហេតុនេះកំណត់ទិន្នន័យដែលនឹងត្រូវបានបញ្ជូនទៅកាន់ម៉ាស៊ីនមេ។ ក្នុងពេលជាមួយគ្នានោះ HTML5 មានសមត្ថភាពបំបែកទម្រង់មួយចេញពីធាតុរបស់វា។ វាត្រូវបានធ្វើសម្រាប់ភាពងាយស្រួល និងមានភាពបត់បែន ដូច្នេះប្លង់ស្មុគ្រស្មាញអាចមានទម្រង់ជាច្រើនដែលមិនគួរប្រសព្វគ្នាទៅវិញទៅមក ឬឧទាហរណ៍ ធាតុមួយចំនួនត្រូវបានបង្ហាញដោយប្រើស្គ្រីបនៅកន្លែងមួយនៅលើទំព័រ ហើយទម្រង់របស់វាមានទីតាំងនៅកន្លែងមួយទៀត។ . ការភ្ជាប់រវាងទម្រង់ និងធាតុរបស់វាកើតឡើងនៅក្នុងករណីនេះតាមរយៈការកំណត់អត្តសញ្ញាណទម្រង់ ហើយគុណលក្ខណៈទម្រង់ដែលមានតម្លៃស្មើនឹងលេខសម្គាល់នេះគួរតែត្រូវបានបន្ថែមទៅធាតុ (ឧទាហរណ៍ 3) ។ឧទាហរណ៍ទី 3៖ ការភ្ជាប់ទម្រង់ទៅវាលHTML5 IE Cr Op Sa Fx ទម្រង់ ក្នុងឧទាហរណ៍នេះ ស្លាក ត្រូវបានកំណត់អត្តសញ្ញាណដោយឡែកតាមរយៈការកំណត់អត្តសញ្ញាណផ្ទៀងផ្ទាត់ ហើយ form="auth" ត្រូវបានបន្ថែមទៅក្នុងវាលដែលគួរត្រូវបានដាក់ស្នើតាមរយៈទម្រង់បែបបទ។ ក្នុងករណីនេះ ឥរិយាបថរបស់ធាតុមិនផ្លាស់ប្តូរទេ នៅពេលដែលប៊ូតុងត្រូវបានចុច ការចូល និងពាក្យសម្ងាត់ត្រូវបានផ្ញើទៅកាន់ handler.php handler ។ទោះបីជាប៉ារ៉ាម៉ែត្រផ្ទេរទម្រង់ត្រូវបានបញ្ជាក់ជាប្រពៃណីនៅក្នុងស្លាក ពួកគេក៏អាចត្រូវបានផ្ទេរទៅប៊ូតុងដាក់ស្នើទម្រង់ ( និង ) ចំពោះបញ្ហានេះ សំណុំនៃគុណលក្ខណៈ formmaction, formmethod, formenctype និង formtarget ត្រូវបានប្រើ ដែលជា analogues នៃ attributes ដែលត្រូវគ្នាដោយគ្មានបុព្វបទទម្រង់។ ឧទាហរណ៍ទី 4 បង្ហាញពីការប្រើប្រាស់គុណលក្ខណៈទាំងនេះ។ឧទាហរណ៍ទី 4: ការបញ្ជូនទម្រង់HTML5 IE Cr Op Sa Fx ការបញ្ជូនទម្រង់ គុណលក្ខណៈទម្រង់ថ្មីទាំងអស់មិនត្រូវបានគាំទ្រដោយកម្មវិធីរុករកតាមអ៊ីនធឺណិតមួយចំនួនទេ ជាពិសេស Internet Explorer និង Safari ។ មុខងារពេញនិយមបំផុតមួយនៅលើគេហទំព័រគឺកម្មវិធី ឬទម្រង់បញ្ជាទិញ ដែលទិន្នន័យត្រូវបានផ្ញើតាមអ៊ីមែលទៅម្ចាស់គេហទំព័រ។ តាមក្បួន ទម្រង់បែបនេះគឺសាមញ្ញ ហើយមានវាលពីរ ឬបីសម្រាប់បញ្ចូលទិន្នន័យ។ តើធ្វើដូចម្តេចដើម្បីបង្កើតទម្រង់បញ្ជាទិញបែបនេះ? នេះតម្រូវឱ្យមានការប្រើប្រាស់ភាសាសម្គាល់ HTML និងភាសាសរសេរកម្មវិធី PHP ។ភាសាសម្គាល់ HTML ខ្លួនវាគឺសាមញ្ញ អ្នកគ្រាន់តែត្រូវការរកវិធី និងកន្លែងដែលត្រូវដាក់ស្លាកជាក់លាក់។ ជាមួយនឹងភាសាសរសេរកម្មវិធី PHP អ្វីៗមានភាពស្មុគស្មាញបន្តិច។សម្រាប់អ្នកសរសេរកម្មវិធី ការបង្កើតទម្រង់បែបនេះមិនពិបាកទេ ប៉ុន្តែសម្រាប់អ្នករចនាប្លង់ HTML សកម្មភាពខ្លះហាក់ដូចជាពិបាក។បង្កើតទម្រង់បញ្ជូនទិន្នន័យក្នុង htmlជួរទីមួយនឹងមានដូចខាងក្រោមនេះគឺជាធាតុសំខាន់នៃទម្រង់។ នៅក្នុងវាយើងបង្ហាញពីរបៀបដែលទិន្នន័យនឹងត្រូវបានផ្ទេរនិងទៅឯកសារណា។ ក្នុងករណីនេះអ្វីគ្រប់យ៉ាងត្រូវបានផ្ទេរដោយប្រើវិធីសាស្ត្រ POST ទៅកាន់ឯកសារ send.php ។ កម្មវិធីនៅក្នុងឯកសារនេះត្រូវតែទទួលទិន្នន័យតាមនោះ វានឹងមាននៅក្នុងអារេប្រកាស ហើយផ្ញើវាទៅអាសយដ្ឋានអ៊ីមែលដែលបានបញ្ជាក់។ចូរយើងត្រលប់ទៅទម្រង់វិញ។ ជួរទីពីរនឹងមានវាលសម្រាប់បញ្ចូលឈ្មោះពេញរបស់អ្នក។ មានលេខកូដដូចខាងក្រោមៈប្រភេទទម្រង់គឺជាអត្ថបទ មានន័យថា អ្នកប្រើប្រាស់នឹងអាចបញ្ចូល ឬចម្លងអត្ថបទនៅទីនេះពីក្តារចុច។ ប៉ារ៉ាម៉ែត្រឈ្មោះមានឈ្មោះទម្រង់។ ក្នុងករណីនេះវាគឺជា fio វាស្ថិតនៅក្រោមឈ្មោះនេះដែលអ្វីគ្រប់យ៉ាងដែលអ្នកប្រើប្រាស់បញ្ចូលក្នុងវាលនេះនឹងត្រូវបានបញ្ជូន។ ប៉ារ៉ាម៉ែត្រកន្លែងដាក់បញ្ជាក់អ្វីដែលនឹងត្រូវបានសរសេរនៅក្នុងវាលនេះជាការពន្យល់មួយ។ជួរបន្ទាប់៖នៅទីនេះស្ទើរតែទាំងអស់គឺដូចគ្នា ប៉ុន្តែឈ្មោះសម្រាប់វាលគឺអ៊ីមែល ហើយការពន្យល់គឺថាអ្នកប្រើប្រាស់បញ្ចូលអាសយដ្ឋានអ៊ីមែលរបស់គាត់ក្នុងទម្រង់នេះ។បន្ទាត់បន្ទាប់នឹងជាប៊ូតុង "ផ្ញើ"៖ហើយបន្ទាត់ចុងក្រោយនៅក្នុងទម្រង់នឹងជាស្លាកឥឡូវយើងដាក់អ្វីគ្រប់យ៉ាងចូលគ្នា។ឥឡូវយើងធ្វើវាលក្នុងទម្រង់ជាកាតព្វកិច្ច។ យើងមានលេខកូដដូចខាងក្រោមៈបង្កើតឯកសារដែលទទួលយកទិន្នន័យពីទម្រង់ HTMLវានឹងក្លាយជាឯកសារមួយដែលមានឈ្មោះថា send.phpនៅក្នុងឯកសារ នៅដំណាក់កាលដំបូង អ្នកត្រូវទទួលយកទិន្នន័យពីអារេក្រោយ។ ដើម្បីធ្វើដូចនេះយើងបង្កើតអថេរពីរ៖$fio = $_POST["fio"]; $email = $_POST["email"];ឈ្មោះអថេរនៅក្នុង PHP ត្រូវបាននាំមុខដោយសញ្ញា $ ហើយសញ្ញាក្បៀសត្រូវបានដាក់នៅចុងបញ្ចប់នៃបន្ទាត់នីមួយៗ។ $_POST គឺជាអារេដែលទិន្នន័យពីទម្រង់ត្រូវបានផ្ញើ។ ក្នុងទម្រង់ html វិធីសាស្ត្រផ្ញើត្រូវបានបញ្ជាក់ជា method="post"។ ដូច្នេះ អថេរពីរពីទម្រង់ html ត្រូវបានទទួលយក។ ដើម្បីការពារគេហទំព័ររបស់អ្នក អ្នកត្រូវឆ្លងកាត់អថេរទាំងនេះតាមរយៈតម្រងជាច្រើន - មុខងារ php ។មុខងារទីមួយនឹងបំប្លែងតួអក្សរទាំងអស់ដែលអ្នកប្រើប្រាស់នឹងព្យាយាមបន្ថែមទៅក្នុងទម្រង់៖ក្នុងករណីនេះ អថេរថ្មីមិនត្រូវបានបង្កើតក្នុង php ទេ ប៉ុន្តែអថេរដែលមានស្រាប់ត្រូវបានប្រើ។ អ្វីដែលតម្រងនឹងធ្វើគឺបំប្លែងតួអក្សរ "<" в "<". Также он поступить с другими символами, встречающимися в html коде.មុខងារទីពីរ ឌិកូដ URL ប្រសិនបើអ្នកប្រើព្យាយាមបន្ថែមវាទៅក្នុងទម្រង់។$fio = urldecode($fio); $email = urldecode($email);ជាមួយនឹងមុខងារទីបី យើងនឹងដកដកឃ្លាចេញពីដើម និងចុងបន្ទាត់ ប្រសិនបើមាន៖$fio = trim($fio); $email = trim($email);មានមុខងារផ្សេងទៀតដែលអនុញ្ញាតឱ្យអ្នកត្រងអថេរ php ។ ការប្រើប្រាស់របស់ពួកគេអាស្រ័យទៅលើថាតើអ្នកព្រួយបារម្ភប៉ុណ្ណាដែលអ្នកវាយប្រហារនឹងព្យាយាមបន្ថែមកូដកម្មវិធីទៅក្នុងទម្រង់បញ្ជូនអ៊ីមែល html នេះ។សុពលភាពនៃទិន្នន័យដែលបានផ្ទេរពីទម្រង់ HTML ទៅឯកសារ PHPដើម្បីពិនិត្យមើលថាតើលេខកូដនេះដំណើរការឬអត់ និងថាតើទិន្នន័យកំពុងត្រូវបានផ្ទេរទេ អ្នកអាចបង្ហាញវានៅលើអេក្រង់ដោយប្រើមុខងារអេកូ៖បន្ទរ $fio; បន្ទរ " ";បន្ទរ $fio;បន្ទាត់ទីពីរនៅទីនេះគឺត្រូវការដើម្បីបំបែកលទ្ធផលនៃអថេរ php ទៅជាបន្ទាត់ផ្សេងគ្នា។ការផ្ញើទិន្នន័យដែលទទួលបានពីទម្រង់ HTML ទៅកាន់អ៊ីមែលដោយប្រើ PHPដើម្បីផ្ញើទិន្នន័យតាមអ៊ីមែល អ្នកត្រូវប្រើមុខងារសំបុត្រក្នុង PHP ។mail("អាសយដ្ឋានដែលត្រូវផ្ញើ", "ប្រធានបទនៃសំបុត្រ", "សារ (តួនៃលិខិត)","ពី៖ ពីអ៊ីមែលដែលសំបុត្រត្រូវបានផ្ញើ \r\n");ឧទាហរណ៍ អ្នកត្រូវផ្ញើទិន្នន័យទៅអ៊ីមែលរបស់ម្ចាស់គេហទំព័រ ឬអ្នកគ្រប់គ្រង [អ៊ីមែលការពារ].ប្រធានបទនៃលិខិតគួរតែច្បាស់លាស់ ហើយសារលិខិតគួរតែមានអ្វីដែលអ្នកប្រើបានបញ្ជាក់ក្នុងទម្រង់ HTML ។សំបុត្រ(" [អ៊ីមែលការពារ]", "កម្មវិធីពីគេហទំព័រ", "ឈ្មោះពេញ:.$fio.". អ៊ីមែល៖ ".$email,"ពី៖ [អ៊ីមែលការពារ]\r\n");វាចាំបាច់ក្នុងការបន្ថែមលក្ខខណ្ឌដែលនឹងពិនិត្យមើលថាតើទម្រង់ត្រូវបានផ្ញើដោយប្រើ PHP ទៅកាន់អាសយដ្ឋានអ៊ីមែលដែលបានបញ្ជាក់។ប្រសិនបើ (សំបុត្រ(" [អ៊ីមែលការពារ]" , "បញ្ជាទិញពីគេហទំព័រ", "ឈ្មោះពេញ:.$fio.". អ៊ីមែល៖ ".$email,"ពី៖ [អ៊ីមែលការពារ]\r\n")) { បន្ទរ "សារបានផ្ញើដោយជោគជ័យ"; ) ផ្សេងទៀត ( }ដូច្នេះ កូដកម្មវិធីនៃឯកសារ send.php ដែលនឹងផ្ញើទិន្នន័យទម្រង់ HTML ទៅកាន់អ៊ីមែលនឹងមើលទៅដូចនេះ៖$fio = $_POST["fio"]; $email = $_POST["email"]; $fio = htmlspecialchars($fio); $email = htmlspecialchars($email); $fio = urldecode($fio); $email = urldecode($email); $fio = trim($fio); $email = trim($email); // បន្ទរ $fio; // បន្ទរ " ";// អេកូ $ អ៊ីមែល; ប្រសិនបើ (សំបុត្រ(" [អ៊ីមែលការពារ]", "កម្មវិធីពីគេហទំព័រ", "ឈ្មោះពេញ:.$fio.". អ៊ីមែល៖ ".$email,"ពី៖ [អ៊ីមែលការពារ]\r\n")) (បន្ទរ "សារបានផ្ញើដោយជោគជ័យ"; ) ផ្សេងទៀត ( អេកូ "កំហុសបានកើតឡើងនៅពេលផ្ញើសារ"; }?>បន្ទាត់បីដើម្បីពិនិត្យមើលថាតើទិន្នន័យកំពុងត្រូវបានផ្ទេរទៅឯកសារត្រូវបានបញ្ចេញមតិ។ បើចាំបាច់ ពួកវាអាចយកចេញបាន ដោយសារពួកវាត្រូវការសម្រាប់តែការកែកំហុសប៉ុណ្ណោះ។យើងដាក់កូដ HTML និង PHP សម្រាប់ដាក់ទម្រង់ក្នុងឯកសារតែមួយនៅក្នុងមតិយោបល់ចំពោះអត្ថបទនេះ មនុស្សជាច្រើនសួរសំណួរអំពីរបៀបធ្វើឱ្យប្រាកដថា ទាំងទម្រង់ HTML និងកូដ PHP សម្រាប់ផ្ញើទិន្នន័យទៅអ៊ីមែលគឺនៅក្នុងឯកសារមួយ មិនមែនពីរទេ។ដើម្បីអនុវត្តការងារនេះ អ្នកត្រូវដាក់កូដ HTML នៃទម្រង់ក្នុងឯកសារ send.php ហើយបន្ថែមលក្ខខណ្ឌដែលនឹងពិនិត្យមើលវត្តមានរបស់អថេរនៅក្នុងអារេ POST (អារេនេះត្រូវបានផ្ញើចេញពីទម្រង់)។ នោះគឺប្រសិនបើអថេរក្នុងអារេមិនមានទេ នោះអ្នកត្រូវបង្ហាញទម្រង់បែបបទដល់អ្នកប្រើប្រាស់។ បើមិនដូច្នោះទេអ្នកត្រូវទទួលទិន្នន័យពីអារេហើយផ្ញើវាទៅអ្នកទទួល។តោះមើលរបៀបផ្លាស់ប្តូរកូដ PHP ក្នុងឯកសារ send.php៖ទម្រង់ពាក្យសុំពីគេហទំព័រ// ពិនិត្យមើលថាតើអថេរមាននៅក្នុងអារេ POST ដែរឬទេ if(!isset($_POST["fio"]) និង !isset($_POST["email"]))( ?> ) ផ្សេងទៀត ( // បង្ហាញទម្រង់ $fio = $_POST["fio"]; $email = $_POST["email"]; $fio = htmlspecialchars($fio); $email = htmlspecialchars($email); $fio = urldecode($fio); $email = urldecode($email); $fio = trim($fio); $email = trim($email); ប្រសិនបើ (សំបុត្រ(" [អ៊ីមែលការពារ]", "កម្មវិធីពីគេហទំព័រ", "ឈ្មោះពេញ:.$fio.". អ៊ីមែល៖ ".$email,"ពី៖ [អ៊ីមែលការពារ]\r\n"))( បន្ទរ "សារបានផ្ញើដោយជោគជ័យ"; ) ផ្សេងទៀត ( បន្ទរ "កំហុសបានកើតឡើងនៅពេលផ្ញើសារ"; } } ?> យើងពិនិត្យមើលអត្ថិភាពនៃអថេរនៅក្នុងអារេ POST ជាមួយនឹងមុខងារ isset() PHP ។ សញ្ញាឧទាននៅពីមុខមុខងារនេះក្នុងលក្ខខណ្ឌមានន័យថាការបដិសេធ។ នោះគឺប្រសិនបើអថេរមិនមានទេនោះយើងត្រូវបង្ហាញទម្រង់របស់យើង។ ប្រសិនបើខ្ញុំមិនបានដាក់ពាក្យឧទានទេ លក្ខខណ្ឌនឹងមានន័យត្រង់ថា "ប្រសិនបើមាន សូមបង្ហាញទម្រង់"។ ហើយនេះគឺខុសនៅក្នុងករណីរបស់យើង។ តាមធម្មជាតិ អ្នកអាចប្តូរឈ្មោះវាទៅជា index.php។ ប្រសិនបើអ្នកប្តូរឈ្មោះឯកសារ កុំភ្លេចប្តូរឈ្មោះឯកសារក្នុងបន្ទាត់ . ទម្រង់គួរតែភ្ជាប់ទៅទំព័រដូចគ្នា ឧទាហរណ៍ index.php ។ ខ្ញុំបានបន្ថែមចំណងជើងទំព័រទៅលេខកូដ។កំហុសទូទៅដែលកើតឡើងនៅពេលបញ្ជូនទម្រង់ PHP ពីគេហទំព័រទីមួយ ប្រហែលជាកំហុសដ៏ពេញនិយមបំផុតគឺនៅពេលដែលអ្នកឃើញទំព័រពណ៌សទទេដែលគ្មានសារ។ នេះមានន័យថាអ្នកបានធ្វើកំហុសនៅក្នុងកូដទំព័រ។ អ្នកត្រូវបើកការបង្ហាញកំហុសទាំងអស់នៅក្នុង PHP ហើយបន្ទាប់មកអ្នកនឹងឃើញកន្លែងដែលកំហុសត្រូវបានធ្វើឡើង។ បន្ថែមទៅលេខកូដ៖ini_set("display_errors","បើក"); error_reporting("E_ALL");ឯកសារ send.php ត្រូវតែដំណើរការតែលើម៉ាស៊ីនមេ បើមិនដូច្នោះទេ កូដនឹងមិនដំណើរការទេ។ វាត្រូវបានណែនាំថានេះមិនមែនជាម៉ាស៊ីនមេក្នុងស្រុកទេ ព្រោះវាមិនតែងតែត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីផ្ញើទិន្នន័យទៅម៉ាស៊ីនមេសំបុត្រខាងក្រៅ។ ប្រសិនបើអ្នកដំណើរការកូដមិននៅលើម៉ាស៊ីនមេ នោះកូដ PHP នឹងត្រូវបានបង្ហាញដោយផ្ទាល់នៅលើទំព័រ។ដូច្នេះសម្រាប់ប្រតិបត្តិការត្រឹមត្រូវ ខ្ញុំសូមណែនាំឱ្យដាក់ឯកសារ send.php នៅលើគេហទំព័រដែលបង្ហោះ។ តាមក្បួនអ្វីគ្រប់យ៉ាងត្រូវបានកំណត់រចនាសម្ព័ន្ធរួចហើយនៅទីនោះ។កំហុសទូទៅមួយទៀតគឺនៅពេលដែលការជូនដំណឹង "សារបានផ្ញើដោយជោគជ័យ" លេចឡើង ប៉ុន្តែសំបុត្រមិនមកដល់ក្នុងសំបុត្រទេ។ ក្នុងករណីនេះអ្នកត្រូវពិនិត្យដោយប្រុងប្រយ័ត្ននូវបន្ទាត់:ប្រសិនបើ (សំបុត្រ(" [អ៊ីមែលការពារ]" , "បញ្ជាទិញពីគេហទំព័រ", "ឈ្មោះពេញ:.$fio.". អ៊ីមែល៖ ".$email,"ពី៖ [អ៊ីមែលការពារ]\r\n"))ជំនួសឱ្យ [អ៊ីមែលការពារ] ត្រូវតែមានអាសយដ្ឋានអ៊ីមែលដែលសំបុត្រគួរតែត្រូវបានផ្ញើ ប៉ុន្តែផ្ទុយទៅវិញ[អ៊ីមែលការពារ] ត្រូវតែជាអ៊ីមែលដែលមានស្រាប់សម្រាប់គេហទំព័រនេះ។ ឧទាហរណ៍សម្រាប់គេហទំព័រនេះនឹងត្រូវបាន . មានតែក្នុងករណីនេះទេ សំបុត្រដែលមានទិន្នន័យពីទម្រង់នឹងត្រូវបានផ្ញើ។ ទម្រង់ HTML ។ $_POST និង $_GET អារេ ទម្រង់ HTML ។ វិធីសាស្រ្តបញ្ជូនទិន្នន័យទៅម៉ាស៊ីនមេ អ្នកប្រហែលជាបានជួបទម្រង់ HTML រួចហើយ៖ បញ្ចូលឈ្មោះរបស់អ្នក៖ ដោយរក្សាទុកកូដនេះក្នុងឯកសារ HTML ហើយមើលវាដោយប្រើកម្មវិធីរុករកតាមអ៊ីនធឺណិតដែលអ្នកចូលចិត្ត អ្នកនឹងឃើញទម្រង់ HTML ដែលធ្លាប់ស្គាល់៖ បញ្ចូលឈ្មោះរបស់អ្នក៖ ស្លាក មានស្លាកបញ្ចប់ជាគូតាមពិតកំណត់ទម្រង់។ គុណលក្ខណៈរបស់វាគឺស្រេចចិត្តទាំងពីរ៖ សកម្មភាព - បញ្ជាក់ URL (ពេញ ឬទាក់ទង) ដែលទម្រង់នឹងត្រូវបានផ្ញើ។ ប្រសិនបើគុណលក្ខណៈនេះមិនត្រូវបានបញ្ជាក់ទេ កម្មវិធីរុករកតាមអ៊ីនធឺណិតភាគច្រើន (ច្បាស់ជាងនេះទៅទៀត កម្មវិធីរុករកទាំងអស់ដែលស្គាល់ខ្ញុំ) ផ្ញើទម្រង់ទៅឯកសារបច្ចុប្បន្ន ពោលគឺ "ទៅខ្លួនវា"។ នេះជាពាក្យខ្លីដ៏ងាយស្រួល ប៉ុន្តែយោងទៅតាមស្តង់ដារ HTML គុណលក្ខណៈសកម្មភាពគឺត្រូវបានទាមទារ។ វិធីសាស្រ្ត - វិធីសាស្រ្តនៃការបញ្ជូនទម្រង់។ មានពីរនាក់ក្នុងចំណោមពួកគេ។ GET - ផ្ញើទិន្នន័យទម្រង់នៅក្នុងរបារអាសយដ្ឋាន។ អ្នកប្រហែលជាបានកត់សម្គាល់ឃើញនៅលើគេហទំព័រផ្សេងៗនូវវត្តមានរបស់ "?" និងទិន្នន័យខាងក្រោមក្នុងទម្រង់ ប៉ារ៉ាម៉ែត្រ=តម្លៃ។ នៅទីនេះ "ប៉ារ៉ាម៉ែត្រ" ត្រូវគ្នាទៅនឹងតម្លៃនៃគុណលក្ខណៈឈ្មោះនៃធាតុទម្រង់ (សូមមើលខាងក្រោមអំពីស្លាក ). ) និង "តម្លៃ" គឺជាខ្លឹមសារនៃគុណលក្ខណៈតម្លៃ (ឧទាហរណ៍ វាផ្ទុកការបញ្ចូលរបស់អ្នកប្រើទៅក្នុងវាលអត្ថបទនៃស្លាកដូចគ្នា ឧទាហរណ៍ ព្យាយាមស្វែងរកអ្វីមួយនៅក្នុង Yandex ហើយយកចិត្តទុកដាក់លើរបារអាសយដ្ឋាននៃកម្មវិធីរុករក។ នេះគឺជាវិធីសាស្ត្រ GET ។ ស្លាក POST - ទិន្នន័យទម្រង់ត្រូវបានផ្ញើនៅក្នុងតួនៃសំណើ។ ប្រសិនបើវាមិនច្បាស់ទាំងស្រុង (ឬមិនច្បាស់លាស់ទាំងស្រុង) ថានេះជាអ្វី កុំបារម្ភ យើងនឹងត្រលប់ទៅបញ្ហានេះវិញក្នុងពេលឆាប់ៗនេះ។ ប្រសិនបើគុណលក្ខណៈវិធីសាស្រ្តមិនត្រូវបានបញ្ជាក់ GET ត្រូវបានសន្មត់។ - បញ្ជាក់ធាតុទម្រង់ដែលកំណត់ដោយគុណលក្ខណៈប្រភេទ៖ តម្លៃផ្សេងទៀតគឺអាចធ្វើទៅបាន (និង តម្លៃ "អត្ថបទ" បញ្ជាក់វាលបញ្ចូលអត្ថបទមួយជួរ តម្លៃ "ដាក់ស្នើ" បញ្ជាក់ប៊ូតុងដែលនៅពេលចុច ផ្ញើទម្រង់ទៅម៉ាស៊ីនមេ - មិនមែនជាស្លាកតែមួយគត់ដែលបញ្ជាក់ធាតុទម្រង់មួយ) ។ ដូច្នេះតើមានអ្វីកើតឡើងនៅពេលយើងចុច "យល់ព្រម"? កម្មវិធីរុករកតាមអ៊ីនធឺណិតមើលធាតុដែលមានក្នុងទម្រង់ ហើយបង្កើតទិន្នន័យទម្រង់ពីឈ្មោះ និងគុណលក្ខណៈតម្លៃរបស់វា។ ម៉ាស៊ីនមេវិភាគសំណើដែលបានទទួល បង្កើតការឆ្លើយតប ផ្ញើវាទៅកម្មវិធីរុករក និងបិទការតភ្ជាប់ កម្មវិធីរុករកបង្ហាញឯកសារដែលទទួលបានពីម៉ាស៊ីនមេ ការផ្ញើសំណើដូចគ្នាដោយដៃ (ដោយប្រើ telnet) មើលទៅដូចនេះ (សន្មត់ថាឈ្មោះដែនរបស់គេហទំព័រគឺ www.example.com)៖ Telnet www.example.com 80 GET /cgi-bin/form_handler.cgi?name=Vasya&okbutton=OK HTTP/1.0\r\n ម៉ាស៊ីន៖ www.example.com\r\n \r\n ដូចដែលអ្នកប្រហែលជាបានទាយរួចហើយ ការចុចប៊ូតុងដាក់ស្នើនៅលើទម្រង់បែបបទដែលមានវិធីសាស្ត្រដាក់ស្នើ "GET" គឺដូចគ្នានឹងការវាយបញ្ចូល URL ដែលត្រូវគ្នា (ជាមួយនឹងសញ្ញាសួរ និងទិន្នន័យទម្រង់នៅចុងបញ្ចប់) ទៅក្នុងរបារអាសយដ្ឋានរបស់កម្មវិធីរុករក៖ http://www.example.com/cgi-bin/form_handler.cgi?name=Vasya&okbutton=OK តាមពិត វិធីសាស្ត្រ GET ត្រូវបានប្រើនៅពេលណាដែលអ្នកស្នើសុំឯកសារពីម៉ាស៊ីនមេ ដោយគ្រាន់តែបញ្ចូល URL របស់វា ឬចុចលើតំណ។ នៅពេលប្រើ URL ត្រូវបានបន្ថែមដោយសញ្ញាសួរ និងទិន្នន័យទម្រង់។ប្រហែលជាព័ត៌មានលម្អិត និងលំហាត់បច្ចេកទេសទាំងអស់នេះជាមួយ telnet ហាក់ដូចជាគួរឱ្យធុញ ហើយសូម្បីតែមិនចាំបាច់សម្រាប់អ្នក ("តើ PHP ត្រូវធ្វើដូចម្តេចជាមួយវា?") ។ ប៉ុន្តែនៅក្នុងឥតប្រយោជន៍។ :) ទាំងនេះគឺជាមូលដ្ឋានគ្រឹះនៃការធ្វើការជាមួយពិធីការ HTTP ដែលរាល់អ្នកសរសេរកម្មវិធីគេហទំព័រត្រូវដឹងដោយបេះដូង ហើយនេះមិនមែនជាចំណេះដឹងខាងទ្រឹស្ដីទេ - ទាំងអស់នេះនឹងមានប្រយោជន៍ក្នុងការអនុវត្ត។ ឥឡូវនេះ ចូរយើងជំនួសបន្ទាត់ទីមួយនៃទម្រង់របស់យើងជាមួយនឹងដូចខាងក្រោម៖ យើងបញ្ជាក់វិធីសាស្ត្រផ្ញើជា "POST"។ ក្នុងករណីនេះទិន្នន័យត្រូវបានផ្ញើទៅម៉ាស៊ីនមេតាមវិធីផ្សេងគ្នាបន្តិច៖ Telnet www.example.com 80 POST /cgi-bin/form_handler.cgi HTTP/1.0\r\n ម៉ាស៊ីន៖ www.example.com\r\n ប្រភេទមាតិកា៖ application/x-www-form-urlencoded\r\ n ប្រវែងខ្លឹមសារ៖ 41263\r\n \r\n name=Vasya&okbutton=OK នៅពេលប្រើវិធីសាស្ត្រ POST ទិន្នន័យទម្រង់ត្រូវបានផ្ញើបន្ទាប់ពី "បញ្ចូលពីរ" - នៅក្នុងតួនៃសំណើ។ អ្វីគ្រប់យ៉ាងខាងលើគឺពិតជាបឋមកថាសំណើ (ហើយនៅពេលដែលយើងប្រើវិធីសាស្ត្រ GET ទិន្នន័យទម្រង់ត្រូវបានផ្ញើនៅក្នុងបឋមកថា) ។ ដើម្បីឱ្យម៉ាស៊ីនមេដឹងថាបៃមួយណាត្រូវឈប់អានតួសំណើ បឋមកថាមានបន្ទាត់ ខ្លឹមសារ-ប្រវែង។ ថាទិន្នន័យទម្រង់នឹងត្រូវបានបញ្ជូនក្នុងទម្រង់បែបបទ parameter1=value1¶meter2=value2... ហើយតម្លៃត្រូវបានបញ្ជូនក្នុងទម្រង់នៃ urlencode - នោះគឺដូចគ្នាទៅនឹងការប្រើប្រាស់វិធីសាស្ត្រ GET ប៉ុន្តែនៅក្នុងតួនៃ សំណើ - បឋមកថាមាតិកាជូនដំណឹងដល់ម៉ាស៊ីនមេ -Type: application/x-www-form-urlencoded ។ អត្ថប្រយោជន៍នៃវិធីសាស្ត្រ POST គឺគ្មានដែនកំណត់លើប្រវែងនៃបន្ទាត់ទិន្នន័យទម្រង់។ នៅពេលប្រើវិធី POST វាមិនអាចដាក់ទម្រង់ដោយគ្រាន់តែ "ធ្វើតាមតំណ" ដូចអ្នកអាចធ្វើបានជាមួយ GET ទេ។ នៅពេលប្រើទម្រង់ POST ក្នុងលក្ខណៈសកម្មភាពរបស់វា អ្នកអាចបញ្ជាក់បន្ទាប់ពីសំណួរសម្គាល់ប៉ារ៉ាម៉ែត្រនៃទម្រង់ GET ។ ដូច្នេះវិធីសាស្ត្រ POST រួមបញ្ចូលវិធីសាស្ត្រ GET ។ $_GET និង $_POST អារេ ដូច្នេះ ទម្រង់គឺជាមធ្យោបាយសំខាន់ក្នុងការផ្លាស់ប្តូរទិន្នន័យរវាងម៉ាស៊ីនមេគេហទំព័រ និងកម្មវិធីរុករក ពោលគឺពួកគេផ្តល់អន្តរកម្មអ្នកប្រើប្រាស់ - តាមពិតតើកម្មវិធីបណ្តាញសម្រាប់អ្វី។ តោះមើលឧទាហរណ៍សាមញ្ញមួយ៖ ប្រសិនបើ ($_SERVER [ "REQUEST_METHOD" ] == "POST" ) ( បន្ទរ " សួស្តី " . $_POST [ "ឈ្មោះ" ] . "!" ; } ?> "> បញ្ចូលឈ្មោះរបស់អ្នក៖ ទម្រង់ដែលបង្ហាញនៅលើបន្ទាត់ទី 8-12 មានធាតុពីរ៖ ឈ្មោះ និងប៊ូតុង ok។ គុណលក្ខណៈវិធីសាស្រ្តបញ្ជាក់វិធីសាស្ត្របញ្ជូនទម្រង់ POST ខណៈដែលគុណលក្ខណៈសកម្មភាពបញ្ជាក់ URL ដែលទម្រង់ត្រូវបានផ្ញើ និងត្រូវបានបំពេញដោយតម្លៃនៃអថេរម៉ាស៊ីនមេ PHP_SELF - អាសយដ្ឋាននៃស្គ្រីបដែលកំពុងដំណើរការ។ =$_SERVER["PHP_SELF"]?>- ទម្រង់ខ្លីសម្រាប់ echo $_SERVER["PHP_SELF"]; ?> . ឧបមាថាយើងបានបញ្ចូលតម្លៃ Vasya នៅក្នុងវាលឈ្មោះហើយចុចប៊ូតុងយល់ព្រម។ ក្នុងករណីនេះកម្មវិធីរុករកបញ្ជូនសំណើ POST ទៅម៉ាស៊ីនមេ។ ស្នើសុំតួ៖ name=Vasya&okbutton=យល់ព្រម។ PHP បញ្ចូលអារេ $_POST ដោយស្វ័យប្រវត្តិ៖ $_POST ["name" ] = "Vasya" $_POST ["okbutton" ] = "យល់ព្រម" តាមពិតតម្លៃ "Vasya" ត្រូវបានផ្ញើដោយកម្មវិធីរុករកតាមទម្រង់ urlencode ។ សម្រាប់ការអ៊ិនកូដ windows-1251 តម្លៃនេះមើលទៅដូចជា %C2%E0%F1%FF ។ ប៉ុន្តែចាប់តាំងពី PHP គ្រប់គ្រងការឌិកូដចាំបាច់ដោយស្វ័យប្រវត្តិ យើងអាច "ភ្លេច" អំពីលក្ខណៈពិសេសនេះ រហូតដល់យើងត្រូវដោះស្រាយសំណើ HTTP ដោយដៃ។ ដោយសារតួនៃសំណើបញ្ជាក់តែឈ្មោះ និងតម្លៃ ប៉ុន្តែមិនមែនប្រភេទធាតុទម្រង់នោះ PHP មិនដឹងថាតើ $_POST["name"] ត្រូវគ្នានឹងខ្សែអក្សរបញ្ចូល ប៊ូតុង ឬប្រអប់បញ្ជីទេ។ ប៉ុន្តែជាទូទៅយើងមិនត្រូវការព័ត៌មាននេះទាល់តែសោះ។ :) ដោយសារយើងមិនចាំបាច់ដឹងពីអ្វីដែលប៊ូតុងដាក់ស្នើនិយាយ យើងអាចដកគុណលក្ខណៈឈ្មោះនៅលើបន្ទាត់ទី 11 ដោយកាត់បន្ថយការពិពណ៌នាប៊ូតុងទៅជា . ក្នុងករណីនេះ កម្មវិធីរុករកតាមអ៊ីនធឺណិតនឹងផ្ញើឈ្មោះសំណើ POST=Vasya ។ ហើយឥឡូវនេះរឿងដូចគ្នាប៉ុន្តែសម្រាប់ទម្រង់ GET: ប្រសិនបើ (isset($_GET ["ឈ្មោះ"]))) ( បន្ទរ " សួស្តី " . $_GET [ "ឈ្មោះ" ] . "!" ; } ?> "> បញ្ចូលឈ្មោះរបស់អ្នក៖ នៅលើបន្ទាត់ទី 8 មនុស្សម្នាក់អាចសរសេរយ៉ាងងាយស្រួល ៖ GET គឺជាវិធីសាស្ត្រលំនាំដើម។ ពេលនេះកម្មវិធីរុករកបានផ្ញើសំណើ GET ដែលស្មើនឹងការបញ្ចូលអាសយដ្ឋាននៅក្នុងរបារអាសយដ្ឋាន៖ http://site-address/script-name.php?name=Vasya ។ PHP ធ្វើដូចគ្នាជាមួយនឹងទម្រង់ GET ដូចដែលវាធ្វើជាមួយ POST ជាមួយនឹងភាពខុសគ្នាដែលអារេ $_GET ត្រូវបានបញ្ចូល។ ភាពខុសគ្នាសំខាន់គឺនៅក្នុងជួរទី 4។ ដោយសារការបញ្ចូលអាសយដ្ឋាននៅក្នុងបន្ទាត់កម្មវិធីរុករកតាមអ៊ីនធឺណិតគឺជាការស្នើសុំ GET ការត្រួតពិនិត្យប្រសិនបើ ($_SERVER["REQUEST_METHOD"] == "GET") គឺគ្មានន័យទេ។ ដូច្នេះហើយ យើងងាកទៅរក isset() construct ដែលត្រឡប់ true ប្រសិនបើ variable ត្រូវបានកំណត់ (នោះគឺវាត្រូវបានផ្តល់តម្លៃ) និង false ប្រសិនបើ variable មិនត្រូវបានកំណត់។ ប្រសិនបើទម្រង់ត្រូវបានបំពេញ - ដូចដែលអ្នកបានយល់រួចហើយ PHP កំណត់ដោយស្វ័យប្រវត្តិ $_GET["name"] តម្លៃសមស្រប។វិធីសាស្ត្រផ្ទៀងផ្ទាត់ដោយប្រើ isset() គឺមានលក្ខណៈជាសកល វាក៏អាចត្រូវបានប្រើសម្រាប់ទម្រង់ POST ផងដែរ។ ជាងនេះទៅទៀត វាជាការប្រសើរព្រោះវាអនុញ្ញាតឱ្យអ្នកស្វែងយល់ថាតើទម្រង់បែបបទណាដែលត្រូវបំពេញ។ឧទាហរណ៍ស្មុគស្មាញបន្តិច។ បន្ទរ “សូមបញ្ចូលឈ្មោះ! " ; < 1900 || $_POST [ "year" ] > 2004 ) { បន្ទរ " ; ) ផ្សេងទៀត ( " ; បន្ទរ "ចំពោះអ្នក" ។ $ អាយុ។ "ឆ្នាំ " ; } បន្ទរ " " ; } ?> "> បញ្ចូលឈ្មោះរបស់អ្នក៖ បញ្ចូលឆ្នាំកំណើតរបស់អ្នក៖ មិនមានបច្ចេកទេសថ្មីត្រូវបានប្រើនៅទីនេះទេ។ គិតវាចេញ ដំណើរការកូដ ព្យាយាមកែប្រែ... ចូរផ្លាស់ប្តូរឧទាហរណ៍ចុងក្រោយ ដើម្បីកុំឱ្យអ្នកប្រើប្រាស់បំពេញវាលម្តងទៀត។ ដើម្បីធ្វើដូចនេះបំពេញគុណលក្ខណៈតម្លៃនៃធាតុទម្រង់ជាមួយនឹងតម្លៃដែលយើងទើបតែបញ្ចូល។ $name = isset($_POST [ "name" ]) ? $_POST [ "ឈ្មោះ" ] : "" ; $year = isset($_POST [ "ឆ្នាំ" ]) ? $_POST [ "ឆ្នាំ" ] : "" ;ប្រសិនបើ (isset($_POST [ "ឈ្មោះ" ], $_POST [ "ឆ្នាំ" ])) ( ប្រសិនបើ ($_POST [ "ឈ្មោះ" ] == "" ) ( បន្ទរ “សូមបញ្ចូលឈ្មោះ! " ; ) ផ្សេងទៀតប្រសិនបើ ($_POST [ "ឆ្នាំ" ]< 1900 || $_POST [ "year" ] > 2004 ) { បន្ទរ "សូមបញ្ជាក់ឆ្នាំកំណើត! ជួរដែលមានសុពលភាព៖ 1900..2004 " ; ) ផ្សេងទៀត ( បន្ទរ "ជំរាបសួរ" ។ $_POST [ "ឈ្មោះ" ] ។ “! " ; $age = 2004 - $_POST [ "ឆ្នាំ" ]; បន្ទរ "ចំពោះអ្នក" ។ $ អាយុ។ "ឆ្នាំ " ; } បន្ទរ " " ; } ?> "> បញ្ចូលឈ្មោះរបស់អ្នក៖ បញ្ចូលឆ្នាំកំណើតរបស់អ្នក៖ ជួរទី 4 និងទី 5 អាចមានការយល់ច្រលំបន្តិច អ្វីគ្រប់យ៉ាងគឺសាមញ្ញណាស់៖ បន្ទាត់ទី 4 អាចសរសេរដូចនេះ៖ ប្រសិនបើ (isset($_POST ["ឈ្មោះ"]))) $name = $_POST ["ឈ្មោះ" ]; ផ្សេងទៀត។ $name = "" ; សំណួរអាចកើតឡើង - ហេតុអ្វីមិនបោះជួរទី 4-5 ហើយសរសេរ: បញ្ចូលឈ្មោះរបស់អ្នក៖ "> បញ្ចូលឆ្នាំកំណើតរបស់អ្នក៖ "> ចំនុចនោះគឺថាប្រសិនបើអថេរ POST ទាំងនេះមិនត្រូវបានកំណត់ - ហើយនេះនឹងជាករណីប្រសិនបើទម្រង់មិនទាន់ត្រូវបានបំពេញ - PHP នឹងចេញការព្រមានអំពីការប្រើប្រាស់អថេរដែលមិនទាន់បានកំណត់ (ហើយសមហេតុផលណាស់៖ សារបែបនេះអនុញ្ញាតឱ្យអ្នកលឿន។ ស្វែងរកការវាយអក្សរដែលពិបាករកឃើញនៅក្នុងឈ្មោះអថេរ ហើយក៏ព្រមានអំពី "រន្ធ" ដែលអាចកើតមាននៅលើគេហទំព័រ)។ ជាការពិត អ្នកអាចដាក់លេខកូដ isset ដោយផ្ទាល់ទៅក្នុងទម្រង់បែបបទ ប៉ុន្តែវានឹងពិបាកពេក។ យល់ទេ? ឥឡូវនេះព្យាយាមស្វែងរកកំហុសនៅក្នុងកូដដែលបានផ្តល់ឱ្យ។ ជាការប្រសើរណាស់, មិនមែនជាកំហុស, ប៉ុន្តែជាកំហុសមួយ។ htmlspecialchars() រកមិនឃើញទេ? ខ្ញុំនឹងផ្តល់ការណែនាំដល់អ្នក។ ឧទាហរណ៍ បញ្ចូលក្នុងវាល "ឈ្មោះ" សម្រង់ទ្វេ និងអត្ថបទមួយចំនួន ឧទាហរណ៍ "វ៉ា" ផ្ញើទម្រង់ ហើយមើលកូដប្រភពនៃទំព័រលទ្ធផល បន្ទាត់ទីបួននឹងមានអ្វីមួយដូចជា៖ បញ្ចូលឈ្មោះរបស់អ្នក៖ នោះគឺគ្មានអ្វីល្អទេ។ ចុះបើអ្នកប្រើល្បិចបញ្ចូលកូដ JavaScript? ដើម្បីដោះស្រាយបញ្ហានេះ អ្នកត្រូវប្រើមុខងារ htmlspecialchars() ដែលនឹងជំនួសតួអក្សរពិសេសជាមួយនឹងតំណាង HTML របស់ពួកគេ (ឧទាហរណ៍ សម្រង់ជាមួយ "): $name = isset($_POST [ "name" ]) ? htmlspecialchars ($_POST [ "name" ]): "" ; $year = isset($_POST [ "ឆ្នាំ" ]) ? htmlspecialchars ($_POST [ "ឆ្នាំ" ]): "" ;ប្រសិនបើ (isset($_POST [ "ឈ្មោះ" ], $_POST [ "ឆ្នាំ" ])) ( ប្រសិនបើ ($_POST [ "ឈ្មោះ" ] == "" ) ( បន្ទរ “សូមបញ្ចូលឈ្មោះ! " ; ) ផ្សេងទៀតប្រសិនបើ ($_POST [ "ឆ្នាំ" ]< 1900 || $_POST [ "year" ] > 2004 ) { បន្ទរ "សូមបញ្ជាក់ឆ្នាំកំណើត! ជួរដែលមានសុពលភាព៖ 1900..2004 " ; ) ផ្សេងទៀត ( បន្ទរ "ជំរាបសួរ" ។ $ ឈ្មោះ។ “! " ; $age = 2004 - $_POST [ "ឆ្នាំ" ]; បន្ទរ "ចំពោះអ្នក" ។ $ អាយុ។ "ឆ្នាំ " ; } បន្ទរ " " ; } ?> "> បញ្ចូលឈ្មោះរបស់អ្នក៖ បញ្ចូលឆ្នាំកំណើតរបស់អ្នក៖ ធ្វើការពិសោធន៍ម្ដងទៀត ហើយធ្វើឱ្យប្រាកដថាកូដ HTML ឥឡូវត្រូវហើយ។ ចងចាំ - មុខងារ htmlspecialchars() ត្រូវតែប្រើនៅពេលណាដែលបង្ហាញមាតិកានៃអថេរដែលអាចមានតួអក្សរពិសេស HTML ។ phpinfo() មុខងារ phpinfo() គឺជាមុខងារសំខាន់បំផុតមួយនៅក្នុង PHP ។ វាបង្ហាញព័ត៌មានអំពីការកំណត់ PHP តម្លៃនៃអថេរការកំណត់រចនាសម្ព័ន្ធផ្សេងៗ... ហេតុអ្វីបានជាខ្ញុំនិយាយវានៅក្នុងអត្ថបទមួយអំពីទម្រង់? phpinfo() គឺជាឧបករណ៍បំបាត់កំហុសដ៏ងាយស្រួល។ phpinfo() ក្នុងចំណោមរបស់ផ្សេងទៀត បោះពុម្ពតម្លៃនៃអថេរ $_GET, $_POST និង $_SERVER ទាំងអស់។ ដូច្នេះប្រសិនបើអថេរទម្រង់មួយត្រូវបានបាត់បង់ វិធីងាយស្រួលបំផុតដើម្បីរកឱ្យឃើញនូវអ្វីដែលខុសគឺត្រូវប្រើមុខងារ phpinfo()។ ដើម្បីធានាថាមុខងារបង្ហាញតែតម្លៃនៃអថេរ (ហើយដោយមិនចាំបាច់រមូរតាមទំព័ររាប់សិប) វាគួរតែត្រូវបានគេហៅថាដូចខាងក្រោម៖ phpinfo(INFO_VARIABLES); ឬ - ដែលជារឿងដូចគ្នាទាំងស្រុង - phpinfo(32);. "> បញ្ចូលឈ្មោះរបស់អ្នក៖ phpinfo(32); ?> ឬឧទាហរណ៍ ស្ថានភាពនេះ៖ អ្នកចង់ស្វែងរកអាសយដ្ឋាន IP របស់អ្នកចូលមើល។ អ្នកចាំថាអថេរដែលត្រូវគ្នាត្រូវបានរក្សាទុកក្នុងអារេ $_SERVER ប៉ុន្តែ - សំណាងអាក្រក់ - អ្នកភ្លេចថាអថេរត្រូវបានគេហៅថាអ្វី។ ម្តងទៀត ហៅទៅ phpinfo(32); រកមើលអាសយដ្ឋាន IP របស់អ្នកនៅក្នុងសញ្ញា ហើយស្វែងរកវានៅក្នុងបន្ទាត់ $_SERVER["REMOTE_ADDR"] ។ ការងារមន្ទីរពិសោធន៍ 1. ពិធីការ HTTP ។ វិធីសាស្រ្តទទួលបាន, ប្រកាស។ ទម្រង់ HTML ។ ផ្នែកទ្រឹស្តី HTTP ស្នើសុំវដ្តជីវិត កម្មវិធីរុករក បើកការតភ្ជាប់ជាមួយម៉ាស៊ីនមេ កម្មវិធីរុករកបញ្ជូនសំណើទៅម៉ាស៊ីនមេ ដើម្បីទទួលទំព័រ ម៉ាស៊ីនមេបង្កើតការឆ្លើយតប (ជាញឹកញាប់បំផុតកូដ HTML) ទៅកម្មវិធីរុករកនិង បិទការតភ្ជាប់ កម្មវិធីរុករកតាមអ៊ីនធឺណិតដំណើរការកូដ HTML និងបង្ហាញទំព័រ យកចិត្តទុកដាក់លើការបន្លិច ដិត. សូម្បីតែមុនពេលដែលអ្នកឃើញទំព័រដែលបានស្នើសុំនៅលើអេក្រង់ក៏ដោយ ការភ្ជាប់ទៅម៉ាស៊ីនមេត្រូវបានបិទ ហើយវាបានភ្លេចអំពីអ្នក។ ហើយនៅពេលដែលអ្នកបញ្ចូលអាសយដ្ឋានផ្សេង (ឬដូចគ្នា) ឬចុចលើតំណ ឬចុចលើប៊ូតុងទម្រង់ HTML នោះលំនាំដដែលនឹងកើតឡើងម្តងទៀត។ ប្រភេទនៃការងារនេះត្រូវបានគេហៅថា "ម៉ាស៊ីនបម្រើអតិថិជន". ម៉ាស៊ីនភ្ញៀវក្នុងករណីនេះគឺជាកម្មវិធីរុករក។ ដូច្នេះការតភ្ជាប់ទៅម៉ាស៊ីនមេគេហទំព័រមានរយៈពេលតែប៉ុន្មានវិនាទីប៉ុណ្ណោះ (ឬប្រភាគនៃវិនាទី) - នេះគឺជារយៈពេលរវាងការចុចលើតំណ (ឬប្រភេទសំណើផ្សេងទៀត) និងទំព័រចាប់ផ្តើមបង្ហាញ។ កម្មវិធីរុករកតាមអ៊ីនធឺណិតភាគច្រើនបង្ហាញប្រភេទសូចនាករមួយចំនួនអំឡុងពេលតភ្ជាប់ ឧទាហរណ៍ MS Internet Explorer បង្ហាញចលនានៅជ្រុងខាងស្តាំខាងលើ។ ដើម្បីកម្ចាត់ការយល់ឃើញរបស់ HTTP ជា "ប្រអប់ខ្មៅ" ជារៀងរហូត ចូរយើង "ធ្វើពុត" ធ្វើជាកម្មវិធីរុករកដោយប្រើ telnet៖ តោះចាប់ផ្តើម telnet ya.ru 80 តោះបញ្ចូលដូចខាងក្រោមក្នុងបង្អួចស្ថានីយ (ប្រសិនបើការបញ្ចូលមិនត្រូវបានបង្ហាញទេ វាមិនអីទេ)៖ ទទួល / HTTP / 1.0[ចុចបញ្ចូលទីនេះ] ម្ចាស់ផ្ទះ៖ ya.ru[នៅទីនេះចុច Enter ពីរដង] ការចុច Enter ជាធម្មតាត្រូវគ្នាទៅនឹងការរួមបញ្ចូលគ្នានៃតួអក្សរ CR + LF ដែលតំណាងឱ្យ \r\n. សញ្ញាណនេះនឹងត្រូវប្រើខាងក្រោម។ កូដ HTML នៃទំព័រ http://ya.ru/ នឹងដំណើរការពេញអេក្រង់។ ដូចដែលអ្នកអាចឃើញគ្មានអ្វីស្មុគស្មាញទេ។ កូដប្រភពនៃទំព័របច្ចុប្បន្នអាចត្រូវបានមើលស្ទើរតែគ្រប់កម្មវិធីរុករកទាំងអស់ដោយជ្រើសរើស "មើល|ប្រភព" ពីម៉ឺនុយ។ រូបភាព ស៊ុម - ទាំងអស់នេះគឺជាសំណើបន្ថែម ដូចគ្នាបេះបិទ។ តាមពិតទៅ តើរូបភាពមកពីណានៅក្នុងបង្អួចកម្មវិធីរុករកតាមអ៊ីនធឺណិត៖ នៅពេលញែក (ដំណើរការ) កូដ HTML កម្មវិធីរុករកតាមអ៊ីនធឺណិតភ្ជាប់មកជាមួយស្លាក https://i1.wp.com/ រូបភាព"> ធ្វើសំណើបន្ថែមទៅម៉ាស៊ីនមេ - សំណើ រូបភាពហើយបង្ហាញវានៅកន្លែងដែលមានស្លាក . សាកល្បង៖ Telnet www.google.ru 80 ទទួលបាន /php/php5ru.png HTTP/1.0\r\n ម្ចាស់ផ្ទះ៖ ya.ru\r\n\r\n អ្វីដែលអ្នកនឹងឃើញប្រសិនបើអ្នកមើលឯកសារ png នេះនៅក្នុងកម្មវិធីនិពន្ធអត្ថបទនឹងភ្លឺពេញអេក្រង់។ អ៊ី-២. ទម្រង់ HTML ។ វិធីសាស្រ្តបញ្ជូនទិន្នន័យទៅម៉ាស៊ីនមេ អ្នកប្រហែលជាបានជួបទម្រង់ HTML រួចហើយ៖ បញ្ចូលឈ្មោះរបស់អ្នក៖ ដោយរក្សាទុកកូដនេះក្នុងឯកសារ HTML ហើយមើលវាដោយប្រើកម្មវិធីរុករកតាមអ៊ីនធឺណិតដែលអ្នកចូលចិត្ត អ្នកនឹងឃើញទម្រង់ HTML ដែលធ្លាប់ស្គាល់៖ បញ្ចូលឈ្មោះរបស់អ្នក៖ សូមក្រឡេកមើលស្លាកដែលប្រើក្នុងឧទាហរណ៍ខ្លីនេះ។ ស្លាក មានស្លាកបញ្ចប់ជាគូតាមពិតកំណត់ទម្រង់។ គុណលក្ខណៈរបស់វាគឺស្រេចចិត្តទាំងពីរ៖ សកម្មភាព- បញ្ជាក់ URL (ពេញ ឬទាក់ទង) ដែល បានផ្ញើទម្រង់។ ការដាក់ស្នើទម្រង់មួយគឺជាសំណើដូចគ្នាទៅនឹងម៉ាស៊ីនមេដូចគ្នានឹងអ្នកដទៃដែរ (ដូចដែលខ្ញុំបានពិពណ៌នាខាងលើរួចហើយ)។ ប្រសិនបើគុណលក្ខណៈនេះមិនត្រូវបានបញ្ជាក់ទេ កម្មវិធីរុករកតាមអ៊ីនធឺណិតភាគច្រើន (ច្បាស់ជាងនេះទៅទៀត កម្មវិធីរុករកទាំងអស់ដែលស្គាល់ខ្ញុំ) ផ្ញើទម្រង់ទៅឯកសារបច្ចុប្បន្ន ពោលគឺ "ទៅខ្លួនវា"។ នេះជាពាក្យខ្លីដ៏ងាយស្រួល ប៉ុន្តែយោងទៅតាមស្តង់ដារ HTML គុណលក្ខណៈសកម្មភាពគឺត្រូវបានទាមទារ។ វិធីសាស្រ្ត - វិធី ការបញ្ជូនទម្រង់។ មានពីរនាក់ក្នុងចំណោមពួកគេ។ ទទួលបាន- ផ្ញើទិន្នន័យទម្រង់នៅក្នុងរបារអាសយដ្ឋាន។ អ្នកប្រហែលជាបានកត់សម្គាល់ឃើញនៅលើគេហទំព័រផ្សេងៗនូវវត្តមានរបស់ "?" និងទិន្នន័យខាងក្រោមជាទម្រង់ ប៉ារ៉ាម៉ែត្រ = តម្លៃ. នៅទីនេះ "ប៉ារ៉ាម៉ែត្រ" ត្រូវគ្នានឹង អត្ថន័យគុណលក្ខណៈ ឈ្មោះធាតុទម្រង់ (សូមមើលខាងក្រោមអំពីស្លាក ) និង "តម្លៃ" - ខ្លឹមសារនៃគុណលក្ខណៈ តម្លៃ(ឧទាហរណ៍ វាមានបញ្ចូលអ្នកប្រើប្រាស់ទៅក្នុងវាលអត្ថបទនៃស្លាកដូចគ្នា។ ). ឧទាហរណ៍ ព្យាយាមស្វែងរកអ្វីមួយនៅក្នុង Yandex ហើយយកចិត្តទុកដាក់លើរបារអាសយដ្ឋាននៃកម្មវិធីរុករក។ នេះគឺជាវិធីសាស្ត្រ GET ។ ប្រកាស- ទិន្នន័យទម្រង់ត្រូវបានផ្ញើទៅ ស្នើសុំរាងកាយ. ប្រសិនបើវាមិនច្បាស់ទាំងស្រុង (ឬមិនច្បាស់លាស់ទាំងស្រុង) ថានេះជាអ្វី កុំបារម្ភ យើងនឹងត្រលប់ទៅបញ្ហានេះវិញក្នុងពេលឆាប់ៗនេះ។ ប្រសិនបើគុណលក្ខណៈ វិធីសាស្រ្តមិនបានបញ្ជាក់ - "GET" ត្រូវបានបង្កប់ន័យ។ ស្លាក - សំណុំ ធាតុទម្រង់កំណត់ដោយគុណលក្ខណៈ ប្រភេទ : អត្ថន័យ "អត្ថបទ"បញ្ជាក់វាលបញ្ចូលអត្ថបទមួយជួរ អត្ថន័យ "ដាក់ស្នើ"បញ្ជាក់ប៊ូតុងដែលនៅពេលចុច បណ្តាលឱ្យ ផ្ញើទម្រង់ទៅម៉ាស៊ីនមេ តម្លៃផ្សេងទៀតគឺអាចធ្វើទៅបាន (និង - មិនមែនជាស្លាកតែមួយគត់ដែលកំណត់ធាតុទម្រង់មួយ) ប៉ុន្តែយើងនឹងមើលពួកវានៅក្នុងជំពូកខាងក្រោម។ តម្លៃ "ដាក់ស្នើ" បញ្ជាក់ប៊ូតុងដែលនៅពេលចុច ផ្ញើទម្រង់ទៅម៉ាស៊ីនមេ កម្មវិធីរុករកតាមអ៊ីនធឺណិតមើលធាតុដែលរួមបញ្ចូលក្នុងទម្រង់ ហើយបង្កើតឈ្មោះ និងគុណតម្លៃពីពួកវា ទិន្នន័យទម្រង់. ចូរនិយាយថាឈ្មោះត្រូវបានបញ្ចូល វ៉ាសាយ៉ា. ក្នុងករណីនេះទិន្នន័យទម្រង់គឺ name=Vasya&okbutton=យល់ព្រម កម្មវិធីរុករកតាមអ៊ីនធឺណិតបង្កើតការតភ្ជាប់ជាមួយម៉ាស៊ីនមេ ផ្ញើសំណើទៅម៉ាស៊ីនមេសម្រាប់ឯកសារដែលបានបញ្ជាក់នៅក្នុងគុណលក្ខណៈ សកម្មភាពស្លាក ដោយប្រើវិធីសាស្ត្របញ្ជូនទិន្នន័យដែលបានបញ្ជាក់ក្នុងគុណលក្ខណៈ វិធីសាស្រ្ត(ក្នុងករណីនេះ - GET) ឆ្លងកាត់ទិន្នន័យទម្រង់ក្នុងសំណើ។ ម៉ាស៊ីនមេវិភាគសំណើដែលបានទទួល បង្កើតការឆ្លើយតប ផ្ញើវាទៅកម្មវិធីរុករក និងបិទការតភ្ជាប់ កម្មវិធីរុករកបង្ហាញឯកសារដែលទទួលបានពីម៉ាស៊ីនមេ ការផ្ញើសំណើដូចគ្នាដោយដៃ (ដោយប្រើ telnet) មើលទៅដូចនេះ (សន្មត់ថាឈ្មោះដែនរបស់គេហទំព័រគឺ www.example.com)៖ telnet www.example.com ៨០ ទទួល /cgi-bin/form_handler.cgi?name=Vasya&okbutton=យល់ព្រម HTTP/1.0\r\n ម៉ាស៊ីន៖ www.example.com\r\n \r\n ដូចដែលអ្នកប្រហែលជាបានទាយរួចហើយ ការចុចប៊ូតុងដាក់ស្នើនៅលើទម្រង់បែបបទដែលមានវិធីសាស្ត្រដាក់ស្នើ "GET" គឺដូចគ្នានឹងការវាយបញ្ចូល URL ដែលត្រូវគ្នា (ជាមួយនឹងសញ្ញាសួរ និងទិន្នន័យទម្រង់នៅចុងបញ្ចប់) ទៅក្នុងរបារអាសយដ្ឋានរបស់កម្មវិធីរុករក៖ http://www.example.com/cgi-bin/form_handler.cgi?name=Vasya&okbutton=OK តាមពិត វិធីសាស្ត្រ GET ត្រូវបានប្រើនៅពេលណាដែលអ្នកស្នើសុំឯកសារពីម៉ាស៊ីនមេ ដោយគ្រាន់តែបញ្ចូល URL របស់វា ឬចុចលើតំណ។ នៅពេលប្រើ URL ត្រូវបានបន្ថែមដោយសញ្ញាសួរ និងទិន្នន័យទម្រង់។ ឥឡូវនេះ ចូរយើងជំនួសបន្ទាត់ទីមួយនៃទម្រង់របស់យើងជាមួយនឹងដូចខាងក្រោម៖ យើងបញ្ជាក់វិធីសាស្ត្រផ្ញើជា "POST"។ ក្នុងករណីនេះទិន្នន័យត្រូវបានផ្ញើទៅម៉ាស៊ីនមេតាមវិធីផ្សេងគ្នាបន្តិច៖ telnet www.example.com ៨០ ប្រកាស /cgi-bin/form_handler.cgi HTTP/1.0\r\n ម៉ាស៊ីន៖ www.example.com\r\n ប្រភេទមាតិកា៖ application/x-www-form-urlencoded\r\n ប្រវែងខ្លឹមសារ៖ ២២\r\n \r\n name=Vasya&okbutton=យល់ព្រម នៅពេលប្រើវិធីសាស្ត្រ POST ទិន្នន័យទម្រង់ត្រូវបានផ្ញើបន្ទាប់ពី "បញ្ចូលពីរ" - ទៅ រាងកាយសំណើ។ ទាំងអស់ខាងលើគឺជាការពិត ចំណងជើងសំណើ (ហើយនៅពេលយើងប្រើវិធីសាស្ត្រ GET ទិន្នន័យទម្រង់ត្រូវបានផ្ញើនៅក្នុងបឋមកថា) ។ ដើម្បីឱ្យម៉ាស៊ីនមេដឹងថាបៃណាដែលត្រូវឈប់អានតួសំណើ បឋមកថាមានបន្ទាត់ ប្រវែងមាតិកា; ថាទិន្នន័យទម្រង់នឹងត្រូវបានបញ្ជូនក្នុងទម្រង់ parameter1=value1¶meter2=value2...ហើយតម្លៃត្រូវបានបញ្ជូនក្នុងទម្រង់នៃ urlencode - នោះគឺដូចគ្នាទៅនឹងការប្រើប្រាស់វិធីសាស្ត្រ GET ប៉ុន្តែនៅក្នុងតួនៃសំណើ - ម៉ាស៊ីនមេត្រូវបានជូនដំណឹងដោយបឋមកថា "មាតិកា-ប្រភេទ៖ កម្មវិធី/x- www-form-urlencoded" ។ អត្ថប្រយោជន៍នៃវិធីសាស្ត្រ POST គឺគ្មានដែនកំណត់លើប្រវែងនៃបន្ទាត់ទិន្នន័យទម្រង់។ នៅពេលប្រើវិធី POST វាមិនអាចទៅរួចទេក្នុងការដាក់ទម្រង់ដោយគ្រាន់តែ "ធ្វើតាមតំណ" ដូចករណី GET ដែរ។ នៅពេលប្រើទម្រង់ POST ក្នុងគុណលក្ខណៈរបស់វា។ សកម្មភាពអ្នកក៏អាចបញ្ជាក់ប៉ារ៉ាម៉ែត្រទម្រង់ GET បន្ទាប់ពីសញ្ញាសួរ។ ដូច្នេះវិធីសាស្ត្រ POST រួមបញ្ចូលវិធីសាស្ត្រ GET ។ អត្ថបទដែលទាក់ទង វីនដូ 7 តើធ្វើដូចម្តេចដើម្បីផ្លាស់ប្តូរប្រេកង់នៃឡានដែលគ្រប់គ្រងដោយវិទ្យុ? ក្តារបន្ទះ គំនិតនៃព័ត៌មាន ការបកស្រាយផ្សេងៗរបស់វា។ លំនៅដ្ឋាន បំបែក PDF ទៅជាទំព័រតាមអ៊ីនធឺណិត ក្តារបន្ទះ HTTP ផ្សាយផ្ទាល់៖ រូបមន្តល្អបំផុត សុវត្ថិភាព របៀបនិងរបៀបបង្កើតការចូលនៅលើ Skype ការផ្គត់ផ្គង់ថាមពល តើធ្វើដូចម្តេចដើម្បីទទួលបាន UIN ថ្មីសម្រាប់ ICQ អ៊ីនធឺណិត Xiaomi មិនឃើញកុំព្យូទ័រ មូលហេតុ ដំណោះស្រាយ ទូរស័ព្ទមិនឃើញកុំព្យូទ័រ៖ ពិនិត្យពីកុំព្យូទ័រ ក្តារបន្ទះ "ស្បែកពីប្រភពភាគីទីបីមិនត្រូវបានគាំទ្រ" នៅក្នុង MIUI៖ របៀបរំលងការហាមឃាត់ អ្នកកែច្នៃ តើ Sony Xperia ផលិតនៅប្រទេសណា?