2011-03-12 17 views
13
session_start(); 
if (!session_is_registered(user)) { 
    header("Location: login.php"); 
    die(); 
} 

session_is_registered() से हटाए जाने का उचित तरीका क्या है?बहिष्कृत session_is_registered

+1

यह अगर "वे" जब कुछ "सुझाए गए" प्रतिस्थापन समारोह के रूप में php के मैनुअल में एक नोटिस डाल मददगार होगा पदावनत किया गया है। – salonMonsters

उत्तर

22

उपयोग if (isset($_SESSION['user'])){}

+0

क्या मैं ऐसा करता हूं और एक और हेडर डालता हूं ("स्थान: index.php"); मरें(); या मरो(); जरूरी नहीं है? – Kyle

+1

बाहर निकलें; हेडर() के साथ रीडायरेक्ट करने के बाद हमेशा इस्तेमाल किया जाना चाहिए। मर जाएगा शायद भी काम करेंगे। – Galen

0

login.php पेज में, यदि आपका यूज़रनेम और पासवर्ड तो मिलान किया जाता है यह उपयोगकर्ता द्वारा

session_register("y"); //where y register the user 
header("location:user.php&name=$y"); 

user.php पेज

session_start(); 
if(!isset($_SESSION['y'])) // if the user is not the same user that logged in then 
{       // it redirects to the login page 
    header("location:login.php"); 
} 
0
if (empty($_SESSION['user'])){ 
    // session user does not exist 
} 
में रजिस्टर हैं
1

isset() वह नहीं करेगा जो आप हर समय चाहते हैं। अगर 'उपयोगकर्ता' गलत है (0, झूठी, शून्य, खाली स्ट्रिंग) तो यह असफल हो जाएगा। array_key_exists() session_is_registered की सच्चाई की मेज, से मेल खाएगा php.net कहते हैं के बावजूद:

if (!array_key_exists('user', $_SESSION)){ 
    /* 'user' is in the session */ 
} 

//in other words... 
if (array_key_exists('user', $_SESSION) === session_is_registered('user')) { 
    /* This is always executed */ 
} 
संबंधित मुद्दे