2012-07-14 7 views
10

मैं एक php पृष्ठ में mysql में इस क्वेरी है:सत्र

mysql_query("INSERT INTO tz_todo SET text='".$text."', 
            position = ".$position.", 
            user_id=".$_SESSION['user_id'].", 
            view_stat=0"); 

मैं क्वेरी को प्रतिध्वनित करने की कोशिश की और परिणाम यह है:

INSERT INTO tz_todo SET text='trial text', position = 21, user_id=, view_stat=0 

यह ऐसा लगता है कि user_id का सत्र मान नहीं प्राप्त कर सकता है।

और $_SESSION['user_id'] सामाजिक इंजन में काम नहीं कर रहा है। इसे कैसे ठीक करें? मैंने अपने xampp में लोकलहोस्ट संस्करण भी बनाया और सब ठीक है लेकिन जब मैंने इसे सोशल इंजन में बदल दिया, सत्र काम नहीं कर रहा है।

+4

क्या आप फ़ाइल की शुरुआत में 'session_stat(); 'कॉल करते हैं? – David

+1

यह देखने के लिए जांचें कि क्या सत्र संभालने के लिए कोई मूल सामाजिक इंजन कार्य है या वहां से जानकारी प्राप्त करने/प्राप्त करने के लिए उनका उपयोग करें। –

+0

@ डेविड हां। मैंने पहले ही सत्र शुरू किया था। – KazuNino

उत्तर

0
session_start(); 
$_SESSION["test"] = "hello world"; 
session_start(); 
echo $_SESSION["test"]; 

कोड काम से ऊपर है? यदि नहीं, तो php.ini में अपने session.save_path जाँच

नोट: बनाए रखने के लिए इस चर() सत्र से चर के लिए कॉल करने से पहले प्रत्येक PHP स्क्रिप्ट/पृष्ठ पर session_start कॉल करने के लिए याद है।

+0

कोड सत्र में सत्र मूल्य संग्रहीत नहीं कर रहा है लेकिन सोशल इंजन सत्र के मूल्य को बनाए रखेगा। – KazuNino

+1

इस लिंक को देखें: http://www.socialengineforum.com/index.php?/topic/15992-bug-fix-your-session-configuration-is-incorrect/ – Sathishkumar

+0

मैंने यह भी कोशिश की है लेकिन कुछ भी नहीं होता है: ( – KazuNino

2

किसी भी पृष्ठ है जहाँ आप सत्र वस्तुओं का उपयोग कर रहे में, फ़ाइल की शुरुआत में यह कोड:

if(!isset($_SESSION)){session_start();} 

इस तरह अगर सत्र पहले से ही शुरू नहीं है, यह यह शुरू होता है; अन्यथा यह सत्र शुरू हो जाता है अगर सत्र पहले से शुरू हो गया है। यह महत्वपूर्ण है क्योंकि session_start() को कॉल करना अगर सत्र शुरू हो गया है, तो कभी-कभी त्रुटियां भी हो सकती हैं।

0

Yoy जा भूल भी सकते हैं पेज

<?php if(!isset($_SESSION)){ session_start(); } ?>

$ _SESSION [ 'user_id'] के शीर्ष पर अपने सत्र शुरू करने के लिए एक मूल्य संग्रहीत नहीं हो सकता है। अपनी प्रवेश पृष्ठ की जाँच (मूल रूप से के बाद लॉगिन सत्र चर सेट हो जाएगा) या रजिस्टर मौसम के बाद आप एक सत्र चर के लिए एक मूल्य की स्थापना है कि सत्र चर के लिए एक मूल्य ..

सौंपा:

$ _SESSION [ 'user_id '] = "1234567";

1

कि कैसे मैं सत्र

session_start(); 

$userID = $viewer->getIdentity(); 

$_SESSION['user_id'] = $userID; 

echo $_SESSION['user_id']; 
1

के माध्यम से अपने प्रयोक्ता आईडी मिल स्टोर करने के लिए पूरी तरह से गलत है user_id सत्र का उपयोग करना। उपयोगकर्ता_आईडी प्राप्त करने के लिए

$viewer_id = Engine_Api::_()->user()->getViewer()->getIdentity(); (या $ उपयोगकर्ता-> अगर आपके पास कोई अन्य उपयोगकर्ता का ऑब्जेक्ट है तो प्राप्त करें)।

यदि आपको अभी भी इस डेटा को संग्रहीत करने के लिए सत्र का उपयोग करने की आवश्यकता है, तो Zend-approach का उपयोग करें।

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

  • कोई संबंधित समस्या नहीं^_^