2011-05-02 7 views
13

मैंमैं अगर एक कुकी php का उपयोग कर सेट किया जाता है कैसे परीक्षण होगा और कुछ भी नहीं

$cookie = $_COOKIE['cookie']; 

की कोशिश की है अगर कुकी सेट नहीं है यह मुझे एक त्रुटि

PHP ERROR 
Undefined index: cookie 
दे देंगे अगर यह स्थापित नहीं किया गया

मैं इसे एक खाली चर>

उत्तर

35

उपयोग isset को देखने के लिए।

if(isset($_COOKIE['cookie'])){ 
    $cookie = $_COOKIE['cookie']; 
} 
else{ 
    // Cookie is not set 
} 
5

अपनी आवश्यकताओं के आधार पर इसे कैसे रोकूं।

// If not set, $cookie = NULL; 
if (isset($_COOKIE['cookie'])) { $cookie = $_COOKIE['cookie']; } 

या

// If not set, $cookie = ''; 
$cookie = (isset($_COOKIE['cookie'])) ? $_COOKIE['cookie'] : ''; 

या

// If not set, $cookie = false; 
$cookie = (isset($_COOKIE['cookie'])) ? $_COOKIE['cookie'] : false; 

संदर्भ:

+0

उत्तर 3 संभावित आधारों को कवर करने के लिए संपादित किया गया है। – Shoe

+1

आपका पहला व्यक्ति इसे एक अपरिभाषित सरणी इंडेक्स से एक अपरिभाषित चर में बदल देता है, और आपने ओपी को स्क्वायर वन पर वापस रखा है। –

+0

@ मार्क बी, संख्या। यह सिर्फ '$ कुकी 'सेट करता है या नहीं। ओपी ने कभी नहीं कहा कि वह फिर से '$ कुकी' का उपयोग करेगा। – Shoe

3

इस प्रयास करें:

$cookie = isset($_COOKIE['cookie'])?$_COOKIE['cookie']:''; 
//checks if there is a cookie, if not then an empty string 
12

आप इस प्रकार इस उद्देश्य के लिए array_key_exists उपयोग कर सकते हैं: अगर कुकी मौजूद है

$cookie = array_key_exists('cookie', $_COOKIE) ? $_COOKIE['cookie'] : null; 
+7

हाँ! कोई स्पष्टीकरण के साथ एक अज्ञात downvote - कितना उपयोगी है। :-) –

+0

सामान्य जारीकर्ता() दृष्टिकोण के लिए अच्छा विकल्प! – Nereare

संबंधित मुद्दे