បច្ចុប្បន្ន ការងារសកម្មកំពុងដំណើរការនៅលើគេហទំព័រ ដើម្បីបើកដំណើរការផ្នែកថ្មីមួយ។ ហើយនៅពេលសរសេរស្គ្រីបមួយចំនួនសម្រាប់វា វាចាំបាច់ដើម្បីពិនិត្យមើលអថេរសម្រាប់លេខ។ ហើយមិនមែនគ្រាន់តែជាលេខទេ (បន្ទាប់ពីទាំងអស់ 1.5 ក៏ជាលេខផងដែរ) ប៉ុន្តែជាលេខទាំងមូល។ ហើយនេះជារបៀបដែលខ្ញុំបានត្រួតពិនិត្យនេះ។
ពិនិត្យមើលថាតើអថេរគឺជាចំនួនគត់នៅក្នុង PHP ដែរឬទេដើម្បីពិនិត្យមើលក្នុង PHP ថាតើលេខជាចំនួនគត់ឬអត់ យើងប្រើកន្សោមធម្មតា៖
ដូច្នោះហើយ ប្រសិនបើអថេរជាចំនួនគត់ យើងអនុវត្តសកម្មភាពដែលយើងត្រូវការ ហើយច្រាសមកវិញ។
កំពុងពិនិត្យមើលថាតើអថេរគឺជាចំនួនគត់នៅក្នុង JavaScriptនៅក្នុង JavaScript អ្វីៗគឺខុសគ្នាបន្តិចបន្តួច ហើយនៅទីនេះយើងត្រូវសរសេរមុខងារតូចមួយរបស់យើង៖
អនុគមន៍ number_scan(num) ( return (num ^ 0) === num; )
ហើយប្រើវាដើម្បីសាកល្បង៖
អនុគមន៍ number_scan(num) ( return (num ^ 0) === num; ) var number = "1.3";
if(number_scan(number)) (// សកម្មភាពប្រសិនបើលេខជាចំនួនគត់) ផ្សេងទៀត (// សកម្មភាពប្រសិនបើលេខជាប្រភាគ ឬអថេរមិនមែនជាលេខទាល់តែសោះ)
នៅទីនេះផងដែរ ប្រសិនបើអថេរស្មើនឹងចំនួនគត់ សកម្មភាពដែលអ្នកចង់បានត្រូវបានអនុវត្ត ហើយផ្ទុយមកវិញ។
ជាឧទាហរណ៍ សូមយកអាសយដ្ឋានខាងក្រោម៖ http://example.com/price.php?product=859844&page=99 ។
ស្គ្រីបបង្ហាញបញ្ជីតម្លៃនៅក្នុងហាងសម្រាប់ផលិតផលផលិតផល ប៉ារ៉ាម៉ែត្រទំព័រស្រេចចិត្តបញ្ជាក់លេខទំព័រ។ ប្រសិនបើទំព័រមិនត្រូវបានបញ្ជាក់ ហើយ url មើលទៅដូចជា http://example.com/price.php?product=859844 នោះយើងបង្ហាញទំព័រដំបូង។
មុនពេល PHP 5.2.0 បញ្ហាអាចត្រូវបានដោះស្រាយតាមវិធីសាមញ្ញនេះ។< 1) return $default; return $intval; } // Проверяем параметр product if (($product = get_param_nat($_GET, "product")) === null) die("Product not found"); // Получаем номер страницы $page = get_param_nat($_GET, "page", 1);
ចាប់ផ្តើមនៅក្នុងកំណែ 5.2.0 ក្រុមនៃមុខងារតម្រងបានបង្ហាញខ្លួននៅក្នុង PHP៖ filter_var, filter_input, filter_var_array និងផ្សេងៗទៀត។ មុខងារអាចពិនិត្យអថេរសម្រាប់ចំនួនគត់ លេខចំណុចអណ្តែតទឹក អ៊ីមែល អាសយដ្ឋាន ip-អាសយដ្ឋាន url ជាដើម ហើយថែមទាំងជម្រះខ្សែអក្សរតាមប៉ារ៉ាម៉ែត្រដែលបានបញ្ជាក់ផងដែរ។
ចូរយើងសរសេរកូដឡើងវិញដោយប្រើមុខងារ filter_input ។
អនុគមន៍ get_param_nat($type, $name, $default=null) ( $val = filter_input($type, FILTER_VALIDATE_INT, array("min_range" => 1, "max_range" => PHP_INT_MAX)); // filter_input ត្រឡប់មិនពិត ប្រសិនបើតម្រង បរាជ័យ ឬចាត់ទុកជាមោឃៈ ប្រសិនបើអថេរមិនត្រូវបានកំណត់ ប្រសិនបើ ($val === null || $val === false) ត្រឡប់ $default ត្រឡប់ $val ) // ពិនិត្យប៉ារ៉ាម៉ែត្រផលិតផលប្រសិនបើ (($product = get_param_nat(INPUT_GET), "ផលិតផល")) === null) die("រកមិនឃើញផលិតផល"); // ទទួលបានលេខទំព័រ $page = get_param_nat(INPUT_GET, "page", 1);
ការធ្វើតេស្តតិចតួចបានបង្ហាញថាល្បឿននៃប្រតិបត្តិការនៃវ៉ារ្យ៉ង់ទាំងពីរនៃអនុគមន៍ get_param_nat គឺស្ទើរតែដូចគ្នាបេះបិទ ហើយក្នុងករណីដែលគ្មានប៉ារ៉ាម៉ែត្រ ឧទាហរណ៍ ទំព័រមិនបានបញ្ជាក់ វ៉ារ្យ៉ង់ទីមួយនឹងដំណើរការលឿនជាងនេះបន្តិច។
ដូច្នេះវាអាស្រ័យលើអ្នកក្នុងការសម្រេចចិត្តថាតើត្រូវប្រើអ្វី។ ខ្ញុំផ្ទាល់ប្រើមុខងារទីមួយ វាកាន់តែជិត និងច្បាស់ជាងចំពោះខ្ញុំ។
ជាការប្រសើរណាស់, digression អត្ថបទចម្រៀងតូចមួយនៅចុងបញ្ចប់។ ដើម្បីជៀសវាងការចម្លងទំព័រសម្រាប់ម៉ាស៊ីនស្វែងរក ឧទាហរណ៍ ដោយគ្មានទំព័រ និងជាមួយទំព័រ=1 ខ្ញុំសូមណែនាំឱ្យបញ្ជាក់ url canonical នៅក្នុងផ្នែកក្បាលនៃទំព័រ។ វានឹងមើលទៅដូចនេះ៖
...