انجمن ایران پی اچ پی
استفاده از دو سشن مختلف در یک درخواست - نسخه قابل چاپ

+- https://forum.iranphp.org - انجمن ایران پی اچ پی
+-- انجمن: پی اچ پی/PHP (/Forum-%D9%BE%DB%8C-%D8%A7%DA%86-%D9%BE%DB%8C-PHP)
+--- انجمن: کدنویسی (/Forum-%DA%A9%D8%AF%D9%86%D9%88%DB%8C%D8%B3%DB%8C)
+--- موضوع: استفاده از دو سشن مختلف در یک درخواست (/Thread-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D9%88-%D8%B3%D8%B4%D9%86-%D9%85%D8%AE%D8%AA%D9%84%D9%81-%D8%AF%D8%B1-%DB%8C%DA%A9-%D8%AF%D8%B1%D8%AE%D9%88%D8%A7%D8%B3%D8%AA)



استفاده از دو سشن مختلف در یک درخواست - vejmad - ۱۳۹۱ ارديبهشت ۹ ۰۸:۳۲ عصر

الان من این کد رو اجرا میکنم:
کد PHP:
<?php

session_name
('sess1');
session_start();
$_SESSION['a']=1;
session_write_close();

session_name('sess2');
session_start();
$_SESSION['b']=2;
session_write_close();

session_name('sess1');
session_start();

echo 
'<pre>';
print_r($_SESSION);
echo 
'</pre>';

?>
انتظار دارم متغییرهای تعریف شده در دو سشن مجزا ایجاد بشن. ولی اینطور نیست. فایل سشن رو اگر چک کنید یک فایل مشترک برای هردو سشن ایجاد میشه و هر دو متغییر در همون ذخیره میشن. البته خود برنامه هم آرایهء _SESSION رو پرینت میکنه میبینید که اونطور که میخواستیم و انتظار میرفته عمل نمیکنه.
بنظرتون چرا و راه حلش چیه؟


RE: استفاده از دو سشن مختلف در یک درخواست - admin - ۱۳۹۱ ارديبهشت ۹ ۰۸:۴۶ عصر

خب چرا به صورت namespace استفاده نمی کنی؟
یه کلاس واسط بنویس که اطلاعات رو ذخیره کنه ولی اطلاعات رو داخل یک آرایه از سشن قرار بده
یه نگه به اینجا و مثالهاش بندازم شاید منظورم رو متوجه بشی
http://framework.zend.com/manual/en/zend.session.basic_usage.html


RE: استفاده از دو سشن مختلف در یک درخواست - vejmad - ۱۳۹۱ ارديبهشت ۹ ۱۰:۴۷ عصر

در اصل برای پروژهء خودم اینو میخواستم که اگر کسی از پروژهء من در برنامهء خودش استفاده کرد سشن پروژهء من مستقل باشه و با مال خودش تداخل نکنه.


RE: استفاده از دو سشن مختلف در یک درخواست - admin - ۱۳۹۱ ارديبهشت ۹ ۱۰:۵۶ عصر

پس پیشنهاد من اینه که از همون نیم اسپیس استفاده کنید.
یعنی اینکه فقط از یک ایندکس سشن استفاده کنید و اون هم قابل تنظیم باشه
کد PHP:
define('SESSION_KEY',"MY_SESSION_KEY");

$SESSION[SESSION_KEY]=array();
$SESSION[SESSION_KEY]['mykey']="myvalue"



RE: استفاده از دو سشن مختلف در یک درخواست - vejmad - ۱۳۹۱ ارديبهشت ۹ ۱۱:۰۲ عصر

شاید روش مناسبی باشه.
اما پارامترهای دیگه چی؟
مثلا طرف کوکی سشن خودش رو یجور تنظیم میکنه من شاید یجور دیگه تنظیم کنم. منظورم از نظر طول عمر و ایناست.
همینطور تنظیمات دیگه هم مثل اینکه سشن ها کجا ذخیره بشن و فایلهای سشن چه طول عمری داشته باشن.
اگر فایل سشن و کوکی ما کاملا مستقل نباشه بعید میدونم بشه تنظیمات مستقل برای همهء موارد داشت.
ببین من چقدر تنظیمات انجام دادم توی پروژهء خودم:
کد PHP:
$old_cookie_lifetime=session_get_cookie_params();
$old_cookie_lifetime=$old_cookie_lifetime['lifetime'];
session_set_cookie_params(0);
$old_use_cookies=ini_set('session.use_cookies''1');
$old_use_only_cookies=ini_set('session.use_only_cookies''1');
$old_gc_maxlifetime=ini_set('session.gc_maxlifetime'$identify_structs['session']['gc_maxlifetime']);
$old_session_save_path=session_save_path($identify_structs['session']['save_path']);
$old_session_name=session_name('reg8log_session');
$old_session_id=session_id();
$old_httponly=ini_set("session.cookie_httponly"1);
$old_trans_sid=ini_set("session.use_trans_sid"0);
if(
$https$old_cookie_secure=ini_set('session.cookie_secure''on'); 



RE: استفاده از دو سشن مختلف در یک درخواست - admin - ۱۳۹۱ ارديبهشت ۱۰ ۱۲:۰۴ صبح

منم همین فکر رو می کنم Big Grin