مشاهده نسخه کامل
: عدم نمایش تعداد یوزر ثبت نام شده
mosi2007
17-01-2012, 02:04
سلام
دوستان من 3 صفحه دارم که برای نشاندادن تعداد یوزر های انلاین میباشد وقتی کاربر مهمان وارد سایت میشود به لیست تعداد یوزر ها افزوده میشود و مثلا مینویسد
we are 3 visitors online
اگر با یک مرورگر دیگر همین صفحه را لود کنیم مثلا مینویسد
we are 4 visitors online
خب تا اینجا هیچ مشکلی نیست (تعدادکاربران مهمان را نشان میدهد) مشکل من در عدم نمایش تعداد کاربران ثبت نام شده میباشد که چه کاربری که ثبت نام کرده وارد سایت شود و چه نشود همیشه مقدار ان
we are 0 userregister online
میباشد
دوستان دقت کنند که این پیغام برا ی تمام کاربران از قبیل مهمان و ثبت نام شده میباشد we are 4 visitors online
و این پیغام برای کاربران ثبت نام شده we are 0 usersregister online می باشد
(که مشکل من در اینجاست که کاربران ثبت نام شده را که وارد سایت میشود همیشه 0 نشان میدهد) من کد 3 صفحه را میذارم که صفحه index.php
و login.php برای وارد شدن به سایت میباشد
و صفحه visitor.php هم برای تعداد نمایش 2 نوعه کاربر از قبیل ثبت نام شده و مهمان میباشد
index.php
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
login.php
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
visitor.php
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
دوستان لطف کنند راهنمایی بفرمایند یا کد را تصحیح فرمایند
neopersia
17-01-2012, 13:27
سلام
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
قبل از false هم یک مساوی بیشتر لازم داره تا نوع مقدار برگشتی رو هم مطابقت بده.
ضمن اینکه اصلاً این کد شما یه مشکل منطقی هم داره! بسته به تنظیمات سرور، این کد ممکنه تعداد یوزرهای آنلاین همه سایتهایی رو که روی اون سرور قرار دارند برگردونه!
mosi2007
17-01-2012, 16:13
سلام
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدقبل از false هم یک مساوی بیشتر لازم داره تا نوع مقدار برگشتی رو هم مطابقت بده.
ضمن اینکه اصلاً این کد شما یه مشکل منطقی هم داره! بسته به تنظیمات سرور، این کد ممکنه تعداد یوزرهای آنلاین همه سایتهایی رو که روی اون سرور قرار دارند برگردونه!
یه مساوی دیگه هم اضافه کردم بازم جواب نداد
اصلا یه دستوری است که بتونیم مسیر سشن ها را در سرور تغییر دهیم از یه پوشه به پوشه دیگه
که بعدش مثلا یوزر های ثبت نام شده را سشن هاش را در اون دایرکتوری دیگه قرار دهیم بعد از اونجا با این کد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
راحت و بدون
درد سر تعداد سشن ها بشمریم بعد به نمایش دراید؟
neopersia
17-01-2012, 18:45
همین تابع session_save_path که استفاده کردید یه پارامتر قبول میکنه که آدرس پوشه جدید سشنها رو میشه بهش داد. البته باید قبل از session_start فراخوانی بشه.
اما قبل از اینکه ادامه بدید مشخص کنید که آیا session_start قراره که برای بازدید کنندگان مهمان هم فراخوانی بشه یا نه. چون اگر فراخوانی بشه برای اونها هم یک فایل سشن ایجاد میشه و نمیشه کاربر رو از غیر کاربر تشخیص داد
mosi2007
18-01-2012, 15:52
همین تابع session_save_path که استفاده کردید یه پارامتر قبول میکنه که آدرس پوشه جدید سشنها رو میشه بهش داد. البته باید قبل از session_start فراخوانی بشه.
اما قبل از اینکه ادامه بدید مشخص کنید که آیا session_start قراره که برای بازدید کنندگان مهمان هم فراخوانی بشه یا نه. چون اگر فراخوانی بشه برای اونها هم یک فایل سشن ایجاد میشه و نمیشه کاربر رو از غیر کاربر تشخیص داد
من نتونستم پوشه را عوض کنم اکه میشه طریقه اش را بفرمایید
من اینطوری نوشتم و نشد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
neopersia
18-01-2012, 23:06
طریقه خاصی نداره باید کار کنه
شما فقط همون خط رو گذاشتید. اینطوری نمیشه فهمید که مشکل از کجاست
mosi2007
19-01-2012, 13:01
طریقه خاصی نداره باید کار کنه
شما فقط همون خط رو گذاشتید. اینطوری نمیشه فهمید که مشکل از کجاست
به احتمال زیاد با این دستور نمیشه دایرکتوری سشنها را تغییر داد فقط با استفاده از این دستور میشه خوند چه حالا از پوشهtmp ,ویا از یه پوشه دیگری که این پارامتری هم که قبول میکنه فقط برای خوندن است نه تغییر اگه ممکنه یه دستور دیگه ای رو بگید که برای تغییر دایرکتوری باشه
با تشکر
اینم کد
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
mtchabok
19-01-2012, 13:19
تابع session_save_path رو برای ثبت مسیر جدید باید قبل از session_start استفاده کنین .
در ضمن شما در تابع useronline در قسمتی که در زیر گذاشتم شرط نادرستی به کار بردید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
کاری که این شرط شما میکنه اینه که اگر ویزیتور فعلی لاگین بود می آد و یوزر آنلاین رو یه واحد ، یک واحد اضافه میکنه ( اینرو از $username فهمیدم چونکه در بالای صفحه تون این متغیر رو از سشن گرفتین )
در ضمن شما برای تعداد کاربران نباید فقط تعداد فایلهای سشن رو بشمارید بلکه باید به دنبال اندیس username در همون فایل باشید تا اگر وجود داشت یعنی اون سشن یه کاربر درش هس .
mosi2007
19-01-2012, 18:39
تابع session_save_path رو برای ثبت مسیر جدید باید قبل از session_start استفاده کنین .
در ضمن شما در تابع useronline در قسمتی که در زیر گذاشتم شرط نادرستی به کار بردید :
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنیدکاری که این شرط شما میکنه اینه که اگر ویزیتور فعلی لاگین بود می آد و یوزر آنلاین رو یه واحد ، یک واحد اضافه میکنه ( اینرو از $username فهمیدم چونکه در بالای صفحه تون این متغیر رو از سشن گرفتین )
در ضمن شما برای تعداد کاربران نباید فقط تعداد فایلهای سشن رو بشمارید بلکه باید به دنبال اندیس username در همون فایل باشید تا اگر وجود داشت یعنی اون سشن یه کاربر درش هس .
دمت گرم درست شد
کد را هم تصحیح کردم
ولی بازم یه مشکلی است ا
اگه این صفحه را با 2 مرورگر باز کنم مینویسه
we are 2 visitors online
من مروگر دومی را میبندم باید سشن مرورگر 2 پاک بشه و یک سشن تو پوشه باشه دفعه بعد صفحه را رفرش میکنم به جای اینکه بنویسه
we are 1 visitors online
مینویسه
we are 2 visitors online
سشن پاک نمیشه
بازم من 2 یا 3 دقیقه صبر میکنم بعد رفرش میکنم بازم درست نمیشه
اگه میشه راهنمایی کنین ؟
اینم کد تصحیح شده
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
mtchabok
21-01-2012, 12:29
فایلهای سشن یه تایم جدا از کوکیها دارن . یعنی اینکه ما یه زمان برای از بین رفتن کوکی داریم و یه زمان برای از بین رفتن محتویات سشن .
برای تغییر زمان کوکی می تونید از این تابع استفاده کنین : session_set_cookie_params($time, $path, $domain, $secure, $[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])
([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ])اما برای تغییر زمان محتویات سشن از این تابع : ini_set('session.gc_maxlifetime',$time) ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ].session.gc-maxlifetime)
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.