كنترل بيشتر روي Session ها

با سلام.

ما 2 فايل PHP داريم. در فايل A از ()session_start استفاده و متني را در session ذخيره كرده ايم.
در اين صفحه يك فرم با متد POST و Action آن برابر با فايل جاري نيز داريم. بر روي دكمه Submit فرم كليك ميكنيم. سپس با استفاده از يك لينك كه در صفحه A است ، به صفحه B ميرويم. صفحه B نيز داراي ()session_start و نمايش session ثبت شده در صفحه A است.
حال با دكمه Back كاوشگر اينترنت خود سعي در برگشت به صفحه A را داريم كه با صفحه اي با متن زير بر مي خوريم:
کد:
Warning: Page has Expired
	 The page you requested was created using information you submitted in a form.
	 This page is no longer available.
	 As a security precaution, Internet Explorer does not automatically resubmit your information for you. 
	 To resubmit your information and view this Web page, click the Refresh button

آيا ميشود كاري كرد تا اين صفحه نمايش داده نشود و صفحه دلخواه خودمان ( صفحه A ) نشان داده شود؟!

ممنونم، (عذر خواهي بخاطر بد نوشتن .... :wink: )
 

oxygenws

Active Member
کد:
Internet Explorer does not automatically resubmit your information for you.
To resubmit your information and view this Web page, click the Refresh button
این مشل به مرورگر شما مربوط میشه.
و راه حل رو هم نوشته.
ربطی هم به session ها نداره!!!!!
 
يعني در مرورگر هاي ديگه ممكنه اين مشكل نباشه!؟

در سايت هاي معروف، هيچ وقت نشده چنين صفحه اي بياد! به احتمال زياد هم از Session استفاده كردن.

هيچ مديريت قوي اي روي Session ها نميتوان داشت؟!
 

vahid_nasiri

New Member
اين دو خط رو به ابتداي صفحه اضافه كن (قبل از session_start):


کد:
session_cache_limiter('private');
/* set the cache expire to 30 minutes */
session_cache_expire(30);
 
خيلي متشكرم از كمك شما. :wink:

دليل استفاده از (session_cache_expire(30 چيست؟! پيش فرض آن چند است؟

باز هم از شما آقاي vahid_nasiri ممنونم. :wink:
 

golden

Member
می تونی از این کد هم استفاده کنی:
PHP:
header("Cache-control: private");
فقط IE6 یه همچین مشکلی داره . مرورگری مثل firefox به راحتی query های post و یا get را برمیگردونه.
 

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

بالا