كنترل بيشتر روي Session ها [بایگانی] - MajidOnline Forums
جشنواره نوروزی فروشگاه اینترنتی مجید آنلاین


PDA

بازدید نسخه کامل شده : كنترل بيشتر روي Session ها


microsoftsat
06 ارديبهشت 1384, 04:25
با سلام.

ما 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
06 ارديبهشت 1384, 10:55
Internet Explorer does not automatically resubmit your information for you.
To resubmit your information and view this Web page, click the Refresh button
این مشل به مرورگر شما مربوط میشه.
و راه حل رو هم نوشته.
ربطی هم به session ها نداره!!!!!

microsoftsat
06 ارديبهشت 1384, 16:36
يعني در مرورگر هاي ديگه ممكنه اين مشكل نباشه!؟

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

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

vahid_nasiri
06 ارديبهشت 1384, 18:07
اين دو خط رو به ابتداي صفحه اضافه كن (قبل از session_start):


session_cache_limiter('private');
/* set the cache expire to 30 minutes */
session_cache_expire(30);

microsoftsat
08 ارديبهشت 1384, 02:38
خيلي متشكرم از كمك شما. :wink:

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

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

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