ធនធានគេហទំព័រទំនើបមិនត្រឹមតែផ្តល់ព័ត៌មានដល់អ្នកទស្សនាប៉ុណ្ណោះទេ ថែមទាំងមានទំនាក់ទំនងជាមួយគាត់ផងដែរ។ ដើម្បីប្រាស្រ័យទាក់ទងជាមួយអ្នកប្រើប្រាស់ អ្នកត្រូវទទួលព័ត៌មានខ្លះពីគាត់។ មានវិធីសាស្រ្តជាច្រើនដើម្បីទាញយកទិន្នន័យ វិធីសាស្រ្តទូទៅគឺ GET និង POST ។ ហើយតាមនោះ PHP មានការគាំទ្រសម្រាប់វិធីសាស្រ្តផ្ទេរទាំងនេះ ទទួលបានទិន្នន័យនិង POST ។ តោះមើលពីរបៀបដែលវិធីសាស្រ្តទាំងនេះដំណើរការ។
GET Method ទិន្នន័យត្រូវបានផ្ទេរដោយប្រើវិធីសាស្ត្រ GET ដោយបន្ថែមវាទៅ URL នៃស្គ្រីបដែលហៅថាដើម្បីដំណើរការព័ត៌មានដែលទទួលបាន។ សម្រាប់ការបំភ្លឺ វិធីសាស្រ្តនេះ។ចុចចូល របារអាសយដ្ឋានកម្មវិធីរុករកតាមអ៊ីនធឺណិត URL នៃធនធាន ហើយបន្ថែមសញ្ញាសួរ (?) ជាមុនសិន ហើយបន្ទាប់មកលេខបន្ទាត់ = 10 ។ ឧទាហរណ៍
http://domain.ru/script.php?num=10
ប្រសិនបើអ្នកមាន ម៉ាស៊ីនមេក្នុងស្រុកបន្ទាប់មកជាធម្មតា domain នឹងក្លាយជា localhost ហើយបន្ទាប់មកធាតុមុននឹងមើលទៅដូច
http://localhost/script.php?num=10
ក្នុងករណីនេះយើងហុចលេខប៉ារ៉ាម៉ែត្រស្មើនឹង 10. ដើម្បីបន្ថែម ប៉ារ៉ាម៉ែត្រខាងក្រោមស្គ្រីបត្រូវប្រើ ampers និង delimiter (&) ឧទាហរណ៍
http://domain.ru/script.php?num=10&type=new&v=text
IN ក្នុងករណីនេះយើងបានឆ្លងកាត់ប៉ារ៉ាម៉ែត្របីទៅស្គ្រីប: លេខជាមួយតម្លៃ 10 វាយជាមួយតម្លៃ "ថ្មី" និង v ជាមួយតម្លៃ "អត្ថបទ" ។
ដើម្បីទទួលបានប៉ារ៉ាម៉ែត្រទាំងនេះនៅក្នុងស្គ្រីប អ្នកត្រូវប្រើអារេដែលភ្ជាប់មកជាមួយ $_GET $_GET["num"], $_GET["type"], $_GET["v"] ។ ធាតុអារេទាំងនេះនឹងមានតម្លៃនៃប៉ារ៉ាម៉ែត្រដែលបានឆ្លងកាត់។ ដើម្បីបង្ហាញឧទាហរណ៍នេះ បង្កើតឯកសារ script.php ដែលមានខ្លឹមសារដូចខាងក្រោម
ធ្វើឱ្យមានសុពលភាពវិធីសាស្ត្រ GET នៅក្នុង PHP
ហើយឥឡូវនេះហៅឯកសារនេះនៅក្នុងកម្មវិធីរុករក
http://path/script.php?num=10&type=new&v=text
ហើយអ្នកនឹងឃើញប៉ារ៉ាម៉ែត្រដែលបានឆ្លងកាត់នៅក្នុងបង្អួចកម្មវិធីរុករក។ ប៉ុន្តែប្រសិនបើអ្នកហៅឯកសារនេះដោយគ្មាន ប៉ារ៉ាម៉ែត្របន្ថែម http://path/script.php អ្នកនឹងឃើញកំហុសដែលវានឹងផ្តល់ឱ្យ អ្នកបកប្រែ PHPថាមិនមានធាតុបែបនេះនៃអារេ $_GET ទេ។ អត្ថបទច្រើនជាងមួយអាចត្រូវបានឧទ្ទិសដល់ការត្រួតពិនិត្យទិន្នន័យដែលទទួលបានពីអ្នកប្រើប្រាស់ ដូច្នេះក្នុងអត្ថបទនេះខ្ញុំនឹងមិនប៉ះលើចំណុចនេះទេ។
ដូចដែលអ្នកប្រហែលជាយល់ហើយ ការបង្ខំឱ្យអ្នកប្រើប្រាស់វាយបញ្ចូលទិន្នន័យនៅក្នុងរបារអាសយដ្ឋានរបស់កម្មវិធីរុករកតាមអ៊ីនធឺណិតគឺមិនសូវល្អទេ ហើយជាការរអាក់រអួលទាំងស្រុង។ ដូច្នេះ ដើម្បីទទួលទិន្នន័យពីអ្នកប្រើប្រាស់ អ្នកត្រូវប្រើទម្រង់ html ។ តោះសរសេរទម្រង់ html សាមញ្ញ។
បញ្ចូលលេខ
តើអ្នកមានកុំព្យូទ័រទេ?
បាទ
ទេ
មតិយោបល់របស់អ្នក៖
ខ្ញុំសូមបញ្ចេញមតិបន្តិចលើទម្រង់ដែលបានបង្កើត។ ទម្រង់ត្រូវបានបង្កើតជាមួយស្លាកទម្រង់។ វាលទម្រង់ត្រូវបានបង្កើតដោយប្រើការបញ្ចូល, ជ្រើស, ស្លាកតំបន់អត្ថបទ (អ្នកអាចអានបន្ថែម)។ នៅក្នុងស្លាកទម្រង់ គុណលក្ខណៈសកម្មភាពបញ្ជាក់ URL នៃស្គ្រីបដែលនឹងទទួលបានទិន្នន័យទម្រង់។ ក្នុងករណីរបស់យើង យើងបានបញ្ជាក់ឯកសារ script.php ដែលមានស្រាប់របស់យើង។ គុណលក្ខណៈ method បញ្ជាក់ method សម្រាប់បញ្ជូនទិន្នន័យ។ យើងបានបញ្ជាក់វិធីសាស្ត្រ GET ។ ឥឡូវនេះយើងដឹងថាឯកសារណាមួយដែលទិន្នន័យទម្រង់នឹងត្រូវបានផ្ទេរទៅ ហើយតាមរបៀបណា អ្វីទាំងអស់ដែលនៅសេសសល់គឺត្រូវរកមើលកន្លែងដែលត្រូវរកមើលវា?!
ទិន្នន័យទម្រង់នេះនឹងត្រូវបានបញ្ជូនទៅធនធានគេហទំព័រដោយកម្មវិធីរុករកតាមអ៊ីនធឺណិតដោយបន្ថែមវាទៅ URL៖ ដំបូងវានឹងមានសញ្ញាសួរ (?) បន្ទាប់មកប៉ារ៉ាម៉ែត្រនឹងត្រូវបានបង្ហាញដោយបំបែកដោយ ampersand (&) ។ ឈ្មោះនៃប៉ារ៉ាម៉ែត្រនឹងត្រូវបានយកចេញពីគុណលក្ខណៈឈ្មោះ ដែលត្រូវតែបញ្ជាក់សម្រាប់វាលទម្រង់ណាមួយ។ តម្លៃនៃប៉ារ៉ាម៉ែត្រនឹងអាស្រ័យលើប្រភេទវាល។ ប្រសិនបើវាលគឺជាវាលអត្ថបទ តម្លៃនឹងជាអត្ថបទដែលបានបញ្ចូលដោយអ្នកប្រើប្រាស់។ ប្រសិនបើវាលគឺជាបញ្ជី ក្រុមនៃប៊ូតុងមូល ឬប្រអប់ធីក បន្ទាប់មកតម្លៃនៃប៉ារ៉ាម៉ែត្រនឹងជាតម្លៃនៃគុណលក្ខណៈតម្លៃនៃធាតុដែលបានជ្រើសរើស។ ខ្ញុំសូមពន្យល់ដោយប្រើទម្រង់របស់យើងជាឧទាហរណ៍។ ប្រសិនបើអ្នកប្រើបញ្ចូលលេខ 10 នៅក្នុងវាលបញ្ចូល នោះឈ្មោះនៃប៉ារ៉ាម៉ែត្រនឹងជាលេខ (តម្លៃនៃគុណលក្ខណៈឈ្មោះនៃស្លាកបញ្ចូល) ហើយតម្លៃនឹងមាន 10 (លេខដែលបញ្ចូលដោយអ្នកប្រើប្រាស់)។ ដូច្នោះហើយ កម្មវិធីរុករកនឹងបង្កើតគូ "num=10"។ ប្រសិនបើអ្នកប្រើជ្រើសរើសជម្រើស "បាទ/ចាស" ពីបញ្ជី នោះឈ្មោះប៉ារ៉ាម៉ែត្រនឹងជាប្រភេទ (តម្លៃនៃគុណលក្ខណៈឈ្មោះនៃស្លាកជ្រើសរើស) ហើយតម្លៃនឹងជាបាទ (តម្លៃនៃគុណលក្ខណៈតម្លៃនៃជម្រើស ស្លាក) ។ ដូច្នោះហើយ កម្មវិធីរុករកនឹងបង្កើតគូ “type=yes”។
ឥឡូវនេះយើងនឹងដាក់ទម្រង់នេះនៅលើទំព័រ forma.php ។
ទម្រង់សម្រាប់ការបញ្ជូនទិន្នន័យដោយប្រើវិធីសាស្ត្រ GET និង PHP
បញ្ចូលលេខ
តើអ្នកមានកុំព្យូទ័រទេ?
បាទ
ទេ
មតិយោបល់របស់អ្នក៖
បញ្ចូលតម្លៃណាមួយក្នុងវាលទម្រង់ ហើយចុចប៊ូតុង "ដាក់ស្នើ" ។ បន្ទាប់ពីចុចប៊ូតុង កម្មវិធីរុករកនឹងបើកទំព័រផ្សេងទៀត (script.php) ហើយទិន្នន័យដែលអ្នកបានបញ្ចូលនឹងត្រូវបានបង្ហាញនៅក្នុងបង្អួចកម្មវិធីរុករក។ ខ្ញុំគិតថាវាច្បាស់ហើយថាហេតុអ្វីបានជា៖ កម្មវិធីរុករកតាមអ៊ីនធឺណិតនឹងបញ្ជូនទិន្នន័យទៅស្គ្រីប script.php ហើយនៅក្នុងស្គ្រីបទិន្នន័យនេះនឹងត្រូវបានដំណើរការ និងបង្ហាញនៅលើអេក្រង់។
វិធីសាស្ត្រ POST ឥឡូវនេះ ចូរយើងមើលពីរបៀបដែលវិធីសាស្ត្រ POST ដំណើរការ។
ដើម្បីផ្ញើទិន្នន័យដោយប្រើវិធីសាស្ត្រ POST អ្នកត្រូវប្រើទម្រង់ HTML ។ ដូចដែលយើងចងចាំ គុណលក្ខណៈវិធីសាស្រ្តនៃស្លាកទម្រង់គឺទទួលខុសត្រូវចំពោះវិធីសាស្ត្រនៃការផ្ញើទិន្នន័យទម្រង់។ ដូច្នេះ អ្នកត្រូវបញ្ជាក់ក្នុង method attribute នៃ form tag តម្លៃ POST. បើមិនដូច្នោះទេ ទម្រង់អាចដូចគ្នាទៅនឹងវិធីសាស្ត្រ GET។ ចូរផ្លាស់ប្តូរទម្រង់របស់យើងដែលយើងបានប្រើរួចហើយដើម្បីបញ្ជូនទិន្នន័យដោយប្រើវិធីសាស្ត្រ GET ដើម្បីបញ្ជូនដោយប្រើវិធីសាស្ត្រ POST ។
បញ្ចូលលេខ
តើអ្នកមានកុំព្យូទ័រទេ?
បាទ
ទេ
មតិយោបល់របស់អ្នក៖
ដូចដែលអ្នកអាចឃើញ ទម្រង់នៅតែដដែល លើកលែងតែវិធីសាស្ត្រ និងគុណលក្ខណៈសកម្មភាព។ ឥឡូវនេះទិន្នន័យនឹងត្រូវបានបញ្ជូនទៅស្គ្រីប script_post.php ។ ចូរដាក់ទម្រង់របស់យើងនៅលើទំព័រ forma_post.php ។
ទម្រង់បញ្ជូនទិន្នន័យដោយប្រើវិធីសាស្ត្រ POST និង PHP
បញ្ចូលលេខ
តើអ្នកមានកុំព្យូទ័រទេ?
បាទ
ទេ
មតិយោបល់របស់អ្នក៖
ឥឡូវនេះយើងត្រូវសរសេរស្គ្រីបដែលនឹងដំណើរការទិន្នន័យទម្រង់របស់យើង។
ដើម្បីទទួលបានទិន្នន័យពីវិធីសាស្ត្រ POST ក្នុងស្គ្រីប អ្នកត្រូវប្រើអារេ $_POST ដែលភ្ជាប់មកជាមួយ។ គ្រាប់ចុចនៃអារេនេះនឹងជាឈ្មោះនៃប៉ារ៉ាម៉ែត្រ។ ក្នុងករណីរបស់យើង យើងត្រូវប្រើ $_POST["num"], $_POST["type"], $_POST["v"] ។ ធាតុអារេទាំងនេះនឹងមានតម្លៃនៃទិន្នន័យដែលបានផ្ទេរ។ ដូចដែលអ្នកអាចមើលឃើញ ភាពខុសគ្នាពីការប្រើប្រាស់វិធីសាស្ត្រ GET ត្រូវបានបង្ហាញតែក្នុងការប្រើប្រាស់អារេ $_POST ប៉ុណ្ណោះ។ ដូច្នេះវានឹងមិនពិបាកសម្រាប់យើងក្នុងការសរសេរឯកសារ script_post.php៖
ការប្រឡង វិធីសាស្ត្រ POSTនៅក្នុង PHP
ឥឡូវបើកឯកសារ forma_post.php នៅក្នុងកម្មវិធីរុករករបស់អ្នក។ បញ្ចូលទិន្នន័យមួយចំនួនទៅក្នុងវាលទម្រង់ ហើយចុចប៊ូតុង "ដាក់ស្នើ"។ ឥឡូវនេះ អ្នកប្រហែលជាបានកត់សម្គាល់ពីភាពខុសគ្នារវាងវិធីសាស្ត្រ POST និងវិធីសាស្ត្រ GET - ទិន្នន័យទម្រង់មិនបង្ហាញនៅក្នុងរបារអាសយដ្ឋាននៃកម្មវិធីរុករកទេ។ ទិន្នន័យមិនអាចផ្ញើដោយប្រើវិធីសាស្ត្រ POST តាមរយៈរបារអាសយដ្ឋានកម្មវិធីរុករកបានទេ។ នេះគឺជាភាពខុសគ្នាដ៏សំខាន់មួយដែលត្រូវចងចាំ។
នៅក្នុង PHP ដោយមិនគិតពីរបៀបដែលទិន្នន័យត្រូវបានផ្ញើ - វិធីសាស្ត្រ POST ឬវិធីសាស្ត្រ GET - អ្នកអាចទទួលបានទិន្នន័យដោយប្រើអារេ $_REQUEST ការប្រៀបធៀបវិធីសាស្ត្រ GET និង POST នៅពេលប្រើវិធីសាស្ត្រ GET ទិន្នន័យត្រូវបានផ្ទេរដោយបន្ថែមទៅផ្នែកបន្ថែម URL ដូច្នេះ ពួកវានឹងអាចមើលឃើញដោយអ្នកប្រើប្រាស់ ដែលវាមិនតែងតែល្អពីទិដ្ឋភាពសុវត្ថិភាពនោះទេ។ ដូចគ្នានេះផងដែរចំនួនអតិបរមានៃទិន្នន័យដែលបានផ្ទេរនឹងអាស្រ័យលើកម្មវិធីរុករក - លើចំនួនអតិបរមាដែលអាចអនុញ្ញាតបាននៃតួអក្សរនៅក្នុងរបារអាសយដ្ឋានរបស់កម្មវិធីរុករក។
នៅពេលប្រើវិធីសាស្ត្រ POST ទិន្នន័យនឹងមិនអាចមើលឃើញដោយអ្នកប្រើប្រាស់ (មិនបង្ហាញក្នុងរបារអាសយដ្ឋានកម្មវិធីរុករកទេ)។ ដូច្នេះហើយ ពួកវាកាន់តែមានសុវត្ថិភាព ហើយជាលទ្ធផល កម្មវិធីដែលដំណើរការទិន្នន័យនេះត្រូវបានការពារច្រើនជាងនៅក្នុងលក្ខខណ្ឌនៃសុវត្ថិភាព។ ដូចគ្នានេះផងដែរ, បរិមាណនៃទិន្នន័យដែលបានបញ្ជូនគឺអនុវត្តមិនកំណត់។
នៅពេលជ្រើសរើសវិធីសាស្ត្រផ្ទេរទិន្នន័យ អ្នកត្រូវគិតគូរពីលក្ខណៈពិសេសខាងលើ ហើយជ្រើសរើសវិធីសាស្ត្រដែលសមស្របបំផុត។
នៅលើគេហទំព័រស្ទើរតែទាំងអស់ អ្នកអាចឃើញតំណភ្ជាប់ដែលមានប៉ារ៉ាម៉ែត្របន្ទាប់ពីសញ្ញា “?” ឧទាហរណ៍ http://some.site.com/?id=1 ។ ជាធម្មតា ស្គ្រីបម៉ាស៊ីនមេគ្រប់គ្រងដំណើរការនៃប៉ារ៉ាម៉ែត្របែបនេះ ប៉ុន្តែជួនកាលចាំបាច់ត្រូវស្វែងរកប៉ារ៉ាម៉ែត្រទាំងនេះនៅក្នុង JavaScript ។ រឿងថ្ងៃនេះនឹងប្រាប់អ្នកពីរបៀបធ្វើវា។
តើអ្វីទៅដែលហៅថាប៉ារ៉ាម៉ែត្រ GET? តាមពិត នេះគ្រាន់តែជាខ្សែអាស័យដ្ឋាន ប៉ុន្តែវាជាទម្លាប់ដែលថាប្រសិនបើតួអក្សរ "?" ត្រូវបានរកឃើញនៅក្នុង URL នោះតួអក្សរទាំងអស់បន្ទាប់ពីវាជាប៉ារ៉ាម៉ែត្រ។ ការបកស្រាយប៉ារ៉ាម៉ែត្រគឺស្តង់ដារ៖ ដំបូងមកឈ្មោះអថេរ បន្ទាប់មកនិមិត្តសញ្ញា "=" បន្ទាប់មកតម្លៃអថេរ អថេរត្រូវបានបំបែកដោយនិមិត្តសញ្ញា "&" ។ អ្នកអាចស្វែងរកអាសយដ្ឋានបច្ចុប្បន្ននៅក្នុង JavaScript ដោយអានតម្លៃនៃ window.location ។ ញែកបន្ទាត់បន្ទាប់ពី "?" អ្នកនឹងត្រូវធ្វើវាជាពីរវគ្គ៖ ដំបូងបំបែកវាទៅជាក្រុម "variable=value" ហើយបន្ទាប់មកបំបែកវាទៅជាផ្នែកសមាសភាគរបស់វា។
ការបំបែកខ្សែអក្សរប៉ារ៉ាម៉ែត្រត្រូវបានធ្វើឱ្យកាន់តែងាយស្រួលដោយការពិតដែលថា JavaScript មានមុខងារខ្សែអក្សរពិសេស - បំបែក () លទ្ធផលដែលនឹងក្លាយជាអារេនៃខ្សែអក្សរ។ ដើម្បីប្រើវា ដំបូងអ្នកត្រូវបង្កើត String object ចាប់តាំងពី មុខងារនេះ។គឺជាវិធីសាស្រ្តនៃវត្ថុនេះ។ នេះត្រូវបានធ្វើយ៉ាងសាមញ្ញ៖
someVar = new String("អត្ថបទខ្លះ");
បន្ទាប់មកយើងបែងចែកខ្សែអក្សរទៅជាខ្សែរង៖
someArray = someVar.split("x");
ដែល "x" គឺជានិមិត្តសញ្ញាសម្រាប់បែងចែកខ្សែអក្សរទៅជាខ្សែអក្សររង។ ដើម្បីស្វែងរកតួអក្សរក្នុងខ្សែអក្សរមួយ អ្នកត្រូវប្រើមួយផ្សេងទៀត មុខងារខ្សែអក្សរ- indexOf():
someVar.indexOf("?");
ការណែនាំអំពីទ្រឹស្តីត្រូវបានបញ្ចប់។ តោះចាប់ផ្តើមអនុវត្ត។ ខ្ញុំបានសម្រេចចិត្តថាអថេរ GET ទាំងអស់គួរតែត្រូវបានរក្សាទុកជាពីរដាច់ដោយឡែកពីគ្នា។ អារេសកល៖ មួយរក្សាទុកឈ្មោះ តម្លៃហាងផ្សេងទៀតមានតម្លៃ។ ជាអកុសល JavaScript មិនត្រូវបានគាំទ្រទេ។ អារេពាក់ព័ន្ធដូច្នេះ ចូរយើងប្រើវិធីដែលខ្ញុំបានចង្អុលបង្ហាញ។ វាក៏ចាំបាច់ផងដែរដើម្បីរក្សាទុកចំនួនអថេរ GET ។ ជាការពិតណាស់ អ្នកតែងតែអាចហៅមុខងារដើម្បីគណនាទំហំនៃអារេ ប៉ុន្តែវិធីសាស្ត្ររបស់ខ្ញុំមានលក្ខណៈស្ទីលស្ទីលគឺប្រសើរជាង។ ដូច្នេះហើយ អថេរ និងអារេសកល៖
var_GET_Keys; // សម្រាប់ពេលនេះ អារេទទេ var _GET_Values; var_GET_Count = 0; // មិនមានធាតុនៅឡើយទេ var _GET_Default = ""
អត្ថន័យនៃអថេរ _GET_Default នឹងត្រូវបានពន្យល់នៅពេលក្រោយ។ បន្ទាប់មក ខ្ញុំនឹងបង្កើតមុខងារ get_parseGET() ដែលនឹងញែក URLs និងបង្កើតអារេជាមួយអថេរ។ នៅដើមដំបូង មុខងារបង្កើត String object ហើយពិនិត្យមើលវត្តមានរបស់តួអក្សរ "?"
l = get.length; get = get.substr(x+1, l-x);
ឥឡូវនេះយើងបែងចែកបន្ទាត់ទៅជាក្រុម "អថេរ = តម្លៃ" គណនាចំនួនអថេរសរុប ហើយរៀបចំដើម្បីបង្កើតអារេចាំបាច់៖
l = get.split("&"); x = 0; _GET_Count = l.length; _GET_Keys = អារេថ្មី(_GET_Count); _GET_Values = អារេថ្មី(_GET_Count);
ហើយចុងក្រោយ យើងបែងចែកក្រុមលទ្ធផលជា 2 អារេដែលមានឈ្មោះនៃអថេរ និងតម្លៃរបស់វា៖
for(i in l) ( get = l[i].split("="); _GET_Keys[x] = get; _GET_Values[x] = get; x++; )
IN ក្នុងឧទាហរណ៍នេះ។ the for.. in construction ត្រូវបានប្រើ ដែលធ្វើម្តងទៀតតាមរយៈធាតុទាំងអស់នៃអារេ។ វាក្យសម្ព័ន្ធនៃសំណង់នេះគឺ៖
សម្រាប់ (គន្លឹះក្នុងអារេ) ( // សកម្មភាពរបស់អ្នក)
ដែល key គឺជាឈ្មោះរបស់ key ដែលនឹងត្រូវបានជ្រើសរើសពី អារេ. នៅក្នុងតួនៃរង្វិលជុំ ធាតុបច្ចុប្បន្នអាចត្រូវបានចូលប្រើដោយអារេ។
មុខងារទីពីរពីបណ្ណាល័យ get_fetchVar(key) អនុញ្ញាតឱ្យអ្នកស្វែងរកតម្លៃនៃអថេរ GET ដែលបានផ្តល់ឱ្យ។ វាដំណើរការដោយគ្រាន់តែធ្វើម្តងទៀតលើអារេ _GET_Keys ។ ប្រសិនបើរកមិនឃើញសោ វានឹងត្រឡប់តម្លៃ _GET_Default ដែលបានរៀបរាប់ខាងលើ។ ខ្ញុំចង់ចំណាំថាតម្លៃ _GET_Default មិនចាំបាច់ផ្លាស់ប្តូរនៅក្នុងបណ្ណាល័យខ្លួនឯងទេ - បើចាំបាច់ នេះអាចត្រូវបានធ្វើនៅក្នុងកូដ HTML របស់អ្នក៖
_GET_Default="tra la la";
នៅចុងបញ្ចប់នៃស្គ្រីបមានការហៅទៅ get_parseGET(); ហើយនេះគឺជាកន្លែងដែលបណ្ណាល័យបញ្ចប់។
ល្អអាក្រក់
នៅលើគេហទំព័រស្ទើរតែទាំងអស់ អ្នកអាចឃើញតំណភ្ជាប់ដែលមានប៉ារ៉ាម៉ែត្របន្ទាប់ពីសញ្ញា "?" ឧទាហរណ៍ http://some.site.com/?id=1 ។ ជាធម្មតា ដំណើរការប៉ារ៉ាម៉ែត្របែបនេះ...
មានវិធីសាស្រ្តជាច្រើនដើម្បីលុបធាតុអារេនៅក្នុង JavaScript ។ ទាំងនេះរួមបញ្ចូលវិធីសាស្រ្ត pop និង shift ។ វិធីសាស្រ្តលេចឡើងយកធាតុទីមួយចេញពីអារេដែលបានផ្តល់ឱ្យ។ វិធីសាស្រ្តផ្លាស់ប្តូរលុប...
ឥឡូវនេះខ្ញុំនឹងប្រាប់អ្នកពីរបៀបដោយប្រើ js យើងអាចរៀបចំ URL យ៉ាងងាយស្រួល និងសាមញ្ញក្នុងកម្មវិធីរុករកដោយមិនផ្ទុកទំព័រឡើងវិញ។ សម្រាប់រឿងនេះយើងនឹងប្រើ មុខងារបន្ទាប់៖ history.pushState(). វាគួរអោយយកចិត្តទុកដាក់ចំពោះការពិតដែលថាវាដំណើរការតែជាមួយកម្មវិធីរុករកដែលគាំទ្រ html5 ប៉ុណ្ណោះ! វាមានប៉ារ៉ាម៉ែត្រចំនួន 3 ដែលយើងអាចឆ្លងកាត់អ្វីទាំងអស់ ពោលគឺ៖
History.pushState("","","");
នៅក្នុងវិធីសាស្រ្តដំបូងនៃយើងឆ្លងកាត់ស្ថានភាពនៃវត្ថុ។ ទីពីរគឺគ្មានអ្វីក្រៅពីឈ្មោះទេ (ដោយវិធីថ្ងៃនេះវាត្រូវបានមិនអើពើ ... ) ។ ហើយប៉ារ៉ាម៉ែត្រទីបីគឺ URL ខ្លួនឯង។
នៅក្នុងអត្ថបទនេះយើងនឹងពិចារណាតែទីបីប៉ុណ្ណោះ។
នៅក្នុងប៉ារ៉ាម៉ែត្រ URL យើងគ្រាន់តែត្រូវឆ្លងកាត់ខ្សែអក្សរដែលនឹងត្រូវបានជំនួសនៅក្នុង URL ពីឫសនៃគេហទំព័រ។
តោះបន្ថែម URLURL របស់យើងផ្ទាល់ប្រហែលជាសាមញ្ញបំផុត៖ http://localhost/
Var newUrl = "/catalog/?login=myLogin&page=phone";
history.pushState("", "", newUrl);
បន្ទាប់ពីដំណើរការស្គ្រីបនេះ អ្នកនឹងឃើញនៅក្នុងរបារអាសយដ្ឋាន៖ localhost/catalog/?login=myLogin&page=phone
ប៉ុន្តែត្រូវប្រយ័ត្ន។ ចាប់តាំងពី URL របស់យើងបានផ្លាស់ប្តូរ។ បន្ទាប់មក នៅពេលអ្នកចុច refresh ទំព័រ កម្មវិធីរុករកនឹងព្យាយាមចូលទៅកាន់ URL ថ្មី។ ហើយប្រសិនបើគេហទំព័ររបស់អ្នកមិនមានផ្នែក /catalog/ នោះអ្នកនឹងឃើញកំហុស 404 ។តោះផ្លាស់ប្តូរ URL ដែលមានស្រាប់
Var arUrl = window.location.pathname.split("/");
var newUrl = "/bazar/"+arUrl+"/"+window.location.search;
history.pushState("", "", newUrl);
ជួរទី 1៖ ទទួលបានផ្លូវដែលទាក់ទងទៅនឹងម៉ាស៊ីន ហើយប្រើការបំបែកដើម្បីបំបែកវាទៅជាអារេមួយ។
ជួរទី 2: យើងបង្កើត URL ថ្មីដែលមានពាក្យ "bazar" + គន្លឹះទីពីរនៃអារេរបស់យើងដែលមានពាក្យ samsung ហើយនៅចុងបញ្ចប់យើងបន្ថែមការទទួលបានរបស់យើង
ជួរទី 3: តាមពិតការជំនួសខ្លួនឯង។បន្ទាប់ពីដំណើរការស្គ្រីបនេះ អ្នកនឹងឃើញនៅក្នុងរបារអាសយដ្ឋាន៖ localhost/bazar/samsung/?login=myLogin&page=phone
ការផ្លាស់ប្តូរប៉ារ៉ាម៉ែត្រ GET
សូមក្រឡេកមើលឧទាហរណ៍ដូចគ្នា។ Var arUrl = window.location.search.split("&"); arUrl = arUrl.slice(1); var arr=; $.each(arUrl,function(i,elem)( arr[i] = elem.split("="); )); var newUrl = arr+"="+arr+"&"+arr+"="+arr; newUrl = window.location.pathname+"?"+newUrl; history.pushState("", "", newUrl);ជាការពិតណាស់
បន្ទាត់ថ្មី។
បន្ទាត់៖ ប្រមូល URL ថ្មី។
បន្ទាត់ជំនួស url
បន្ទាប់ពីដំណើរការស្គ្រីប URL ចាស់របស់យើង៖ localhost/catalog/samsung/?login=myLogin&page=phone