Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP isset () कई मापदंडों के साथ

पैरामीटर (ओं) से isset() एक चर संदर्भ होना चाहिए न कि एक अभिव्यक्ति (आपके मामले में एक संयोजन); लेकिन आप कई शर्तों को एक साथ इस तरह समूहित कर सकते हैं:

if (isset($_POST['search_term'], $_POST['postcode'])) {
}

यह true लौटाएगा केवल अगर सभी isset() . के लिए तर्क सेट हैं और उनमें null नहीं है ।

ध्यान दें कि isset($var) और isset($var) == true एक ही प्रभाव है, इसलिए उत्तरार्द्ध कुछ हद तक बेमानी है।

अपडेट करें

आपकी अभिव्यक्ति का दूसरा भाग empty() . का उपयोग करता है इस तरह:

empty ($_POST['search_term'] . $_POST['postcode']) == false

यह ऊपर के समान कारणों से गलत है। वास्तव में, आपको empty() की आवश्यकता नहीं है यहाँ, क्योंकि उस समय तक आप पहले ही जाँच चुके होंगे कि वेरिएबल सेट हैं या नहीं, इसलिए आप इस तरह से पूर्ण एक्सप्रेशन को शॉर्टकट कर सकते हैं:

isset($_POST['search_term'], $_POST['postcode']) && 
    $_POST['search_term'] && 
    $_POST['postcode']

या समकक्ष अभिव्यक्ति का उपयोग करना:

!empty($_POST['search_term']) && !empty($_POST['postcode'])

अंतिम विचार

आपको filter का उपयोग करने पर विचार करना चाहिए इनपुट को प्रबंधित करने के लिए कार्य करता है:

$data = filter_input_array(INPUT_POST, array(
    'search_term' => array(
        'filter' => FILTER_UNSAFE_RAW,
        'flags' => FILTER_NULL_ON_FAILURE,
    ),
    'postcode' => array(
        'filter' => FILTER_UNSAFE_RAW,
        'flags' => FILTER_NULL_ON_FAILURE,
    ),
));

if ($data === null || in_array(null, $data, true)) {
    // some fields are missing or their values didn't pass the filter
    die("You did something naughty");
}

// $data['search_term'] and $data['postcode'] contains the fields you want

बीटीडब्ल्यू, आप सबमिट किए गए मानों के विभिन्न हिस्सों की जांच करने के लिए अपने फ़िल्टर को कस्टमाइज़ कर सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySql.Data.MySqlClient.MySqlException:टाइमआउट समाप्त हो गया

  2. दो तिथियों के बीच आउटपुट mysql

  3. MySQL VARCHAR अधिकतम आकार क्या है?

  4. कैसे गतिशील तालिका नाम के साथ एक mysql समारोह लिखने के लिए?

  5. घातक त्रुटि:function.php लाइन 25 . में session_start () को फिर से घोषित नहीं कर सकता