1- خروج در صورت بیکار بودن صفحه --- 2 -آیا php هم messageBox داره ؟

دوتا سوال:

یک:

اگر دقت کرده باشید بعضی صفحات وب که ما با وارد کردن نام کاربری و کلمه عبور وارد اونها شدیم اگر مثلا 10 دقیقه توی اون صفحات فعالیت نکنیم و بعد از 10 دقیقه بخوایم کاری انجام بدیم صفحه خودبخود خارج شده و دوباره باید یوزر و پس بدیم...
چطور میتونم این کار را انجام بدم که بعد از مدت خاصی صفحا خارج بشه ؟

سوال بعد:

آیا در php هم messageBox وجود داره ؟
طرز نوشتن و استفاده از کدش چجوریه ؟
من میخوام وقتی کاربر فرمی را ارسال کرد یه پیغام بگیره و بعد از زدن مثلا دکمه تائید فرم ارسال بشه....
:rose::rose::rose::rose::rose::rose::rose::rose::rose::rose:
 

sajadmaz

Member
با سشن این کار رو انجام میدن

PHP:
if(isset($_SESSION['userlogin'])){
// code
}else{
header("redirect :login.php");
exit;
}
 

iran-TEC

Member
شما باید یک سشن با مقداری که از تابع time می گیری ایجاد کنی در هر فعالیت کاربر چک کنی اگه مثلا 10 دقیقه از زمان داخل سشن گذشته بود اون رو به صفحه لاگین redirect کنی در غیر این صورت مقدار داخل سشن رو بروزآوری کنی

در مورد messagebox هم در php همچین چیزی وجود ندارد و کاملا طبیعی هم هست ولی شما می تونی با استفاده از جاوا اسکریپت messagebox رو در مرورگر کاربر نمایش بدی

کد:
alert("message")
 
شما باید یک سشن با مقداری که از تابع time می گیری ایجاد کنی در هر فعالیت کاربر چک کنی اگه مثلا 10 دقیقه از زمان داخل سشن گذشته بود اون رو به صفحه لاگین redirect کنی در غیر این صورت مقدار داخل سشن رو بروزآوری کنی
اگر کاربر مشغول فعالیت باشه که بعد از 10 دقیقه خارج نمیشه که. درسته ؟این سیشن از زمانی شروع میشه که دیگه فعالیتی تو صفحه نشه .درسته ؟
 
آخرین ویرایش:

Masoud1365

مدیر انجمن
خط اول میگه اگه سشن وجود داره که هیچی اگه نداره بره به صفحه لاگین
 
خط اول میگه اگه سشن وجود داره که هیچی اگه نداره بره به صفحه لاگین

وجود سشن یعنی وجود زمان ؟ یا اینکه خود سشن زمان خاصی داره ؟ درصورت بسته شدن صفحه سشن به اتمام میرسه ؟
واسه سشن باید زمان تعریف کنم ؟ میشه بگید چجوری ؟:rose:
 

Masoud1365

مدیر انجمن
شما وقتی که سشن رو تعریف میکنید به صورت پیشفرض یک زمان اکسپایر شدن داره اون خط کد اول که گفتید برای اینه که اگه تایم کاربر تموم بشه سشنش اکسپایر میشه و وجود نداره !
 

talesh

Active Member
دوست گرامی در سیشن هم میشه از کوکی استفاده کرد در این حال هم میشه به سیشن یا کوکی زمان داد

PHP:
setcookie(user,$COUNT,time()+3600);
 
شما وقتی که سشن رو تعریف میکنید به صورت پیشفرض یک زمان اکسپایر شدن داره اون خط کد اول که گفتید برای اینه که اگه تایم کاربر تموم بشه سشنش اکسپایر میشه و وجود نداره !

با تشکر
مسعود جان به صورت همون پیشفرض تقریبا چقد طول میکشه تا اکسپایر بشه ؟

و آیا این زمان قابل تغییره ؟
 

Masoud1365

مدیر انجمن
مسعود جان به صورت همون پیشفرض تقریبا چقد طول میکشه تا اکسپایر بشه ؟
از روی سرور تنظیم میشه !
معمولا روی 30 دقیقه هست ولی ممکنه روی سرورهای مختلف متفاوت باشه !
شما با htaccess میتونی این کارو بکنی ( اگر اجازه داشته باشی )
PHP:
<IfModule mod_php5.c>
    #Session timeout
    php_value session.cookie_lifetime 1200
    php_value session.gc_maxlifetime 1200
</IfModule>
وبا php هم میتونید ( بدون اجازه :wink: )
PHP:
session_start();
 
// set timeout period in seconds
$inactive = 600;
 
// check to see if $_SESSION['timeout'] is set
if(isset($_SESSION['timeout']) ) {
	$session_life = time() - $_SESSION['timeout'];
	if($session_life > $inactive)
        { session_destroy(); header("Location: logoutpage.php"); }
}
$_SESSION['timeout'] = time();
 
ببخشید همش سوال میکنم...

آیا روی localhost هم session وجود داره ؟ اگر وجود داره تنظیماتش کجاست و چطور میتونم زمانش را تغییر بدم ؟
 

Masoud1365

مدیر انجمن
بجای ['userlogin'] باید مثلا یوزر وارد شده را وارد کنم ؟
این userlogin کجا بود ؟
ببخشید همش سوال میکنم...

آیا روی localhost هم session وجود داره ؟ اگر وجود داره تنظیماتش کجاست و چطور میتونم زمانش را تغییر بدم ؟
بله وجود داره و تنظیماتش در فایل php.ini هست !:wink:
 
ممنون مسعود جان
اون زمان session را درستش کردم
فقط...

وقتی زمان به پایان میرسه و یاید بره به صفحه دیگه این پیام را میده

Warning: Cannot modify header information - headers already sent by (output started at C:\Apache2\htdocs\fs\s@[email protected]:33) in C:\Apache2\htdocs\fs\s@[email protected] on line 336


این مال چیه ؟ چکارش کنم ؟
 

Masoud1365

مدیر انجمن
قبل از این که از تابع هدر استفاده کنید خروجی دارید که این ارور رو میده ( این خروجی ممکنه که یک کاراکتر فاصله باشه ! )
 
توی یه سایت اینا پیدا کردم که کارما راه انداخت... ببین خوبه ؟ از نظر امنیتی چطوره ؟ کار منا راه انداخت و دیگه session هم نمیخواد..

ببین :

دوست عزیز این خطا به این خاطر ایجاد می شه که header نیز مانند session_start باید در ابتدای فایل بیاد و اگر قبلش چیزی باشه این error را می ده، برای رفع این مشکل می تونی از متا تگ استفاده کنی

<meta http-equiv="refresh" content="2;url=test.php">

بجای 2 زمانی را که می خوای طول بکشه وبعد redirect بشه به ثانیه مشخص کن و بجای test.php هم آدرس را بگذار
 

Masoud1365

مدیر انجمن
این کد میاد اول صفحه رو باز میکنه ( حتی اگر زمان رو صفر بدی - روی سرور منظورم هست - ) و بعد ریدایرکت میشه !
با همون هدر تست کن و ارور ریپورتت رو صفر کن !
 
این کد میاد اول صفحه رو باز میکنه ( حتی اگر زمان رو صفر بدی - روی سرور منظورم هست - ) و بعد ریدایرکت میشه !

با همون هدر تست کن و ارور ریپورتت رو صفر کن !

منظورتون را از خط اول نفهمیدم...

ارور ریپورت را کجا صفر کنم؟

با تشکر
 

جدیدترین ارسال ها

بالا