कारण है कि आप 5 हो रही है इस कोड के लिए है:
<?php echo $user_info['firstname'];?>
यह है कि $ _SESSION ['user_id'] का मान 5 है। इसलिए असाइनमेंट के बाद $ user_info का मान 5 है। अब क्योंकि $ _SESSION ['user_id'] आपके इरादे के रूप में सरणी पर सेट नहीं है होने के लिए। नतीजा यह है कि $ user_info को एक स्ट्रिंग के रूप में लिया जाता है और ['firstname'] का मूल्यांकन [0] होता है। यदि आप चाहें, तो आप आईडी 5 से 54, आदि अपडेट कर सकते हैं। आपको हमेशा अपनी आईडी का पहला अक्षर मिल जाएगा।
$data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `users` WHERE `user_id` = $user_id"));
$data = array_merge(array($user_id), $data);
return $data;
if (logged_in() === true) {
$user_data = user_data($_SESSION['user_id'], 'username', 'first_name', 'last_name', 'email');
$user_data = user_data($session_user_id, 'user_id', 'username', 'first_name', 'last_name', 'email');
}
लिए:
इसे ठीक करने के लिए, करने के लिए अपने user_data समारोह में वापसी से पहले पिछले 2 लाइनों को बदलने की कोशिश
if (logged_in() === true) {
$user_data = user_data($_SESSION['user_id'], 'username', 'first_name', 'last_name', 'email');
$_SESSION['user_id'] = $user_data;
}
स्रोत
2012-10-23 15:05:39
आप $ _SESSION में डेटा कहां जोड़ते हैं। मुझे लगता है कि आप याद कर रहे हैं वह हिस्सा –
$ session_user_id लाइन पर खाली हो सकता है $ user_data = user_data ($ session_user_id, 'user_id', 'उपयोगकर्ता नाम', 'first_name', 'last_name', 'ई-मेल'); –
डाटाबेस तस्वीर मृत लिंक है – SomeKittens