Session

DaDaDooDoo

کاربر VIP
سلام
در چه شرایطی در هاست ( سرور ) ممکن هست که مقادیر در سشن ذخیره نشه ؟ من یه سرچ نوشتم که به علت اینکه پیجینگ داره مقادیری که قراره بر اساس اون ها سرچ انجام بشه رو در سشن ذخیره می کنم تا در صفحات بعد بهشون دسترسی داشته باشم ، اما وقتی دو مورد رو به عنوان پارامترهای سرچ انتخاب می کنم مقادیر در سشن ذخیره نمی شه
برای مثال وقتی سرچ قراره بر اساس متراژ خونه و قیمت باشه ، تا زمانی که سرچ فقط بر اساس متراژ یا فقط قیمت انجام می شه مشکلی نیست اما وقتی بر اساس هر دو مورد انجام می شه ( مثلاً خانه های بالای 200 میلیون تومان که بالای 200 متر هستند ) به مشکل بر می خورم و وقتی کوئری رو echo می گیرم مقادیر رو نشون نمی ده ( null هستند ) ، یعنی از سشنچیزی نمی خونه و انگار سشن خالی هست .
این مشکل فقط روی هاست هست و در لوکال درست کار می کنه و مشکلی نیست.
 

DaDaDooDoo

کاربر VIP
دوستان کسی نمی تونه راهنمایی کنه ؟ من واقعاً نمی دونم باید دنبال چی بگردم ...
 

ziXet

مدیر انجمن PHP/MYSQL
سلام
در چه شرایطی در هاست ( سرور ) ممکن هست که مقادیر در سشن ذخیره نشه ؟ من یه سرچ نوشتم که به علت اینکه پیجینگ داره مقادیری که قراره بر اساس اون ها سرچ انجام بشه رو در سشن ذخیره می کنم تا در صفحات بعد بهشون دسترسی داشته باشم ، اما وقتی دو مورد رو به عنوان پارامترهای سرچ انتخاب می کنم مقادیر در سشن ذخیره نمی شه
برای مثال وقتی سرچ قراره بر اساس متراژ خونه و قیمت باشه ، تا زمانی که سرچ فقط بر اساس متراژ یا فقط قیمت انجام می شه مشکلی نیست اما وقتی بر اساس هر دو مورد انجام می شه ( مثلاً خانه های بالای 200 میلیون تومان که بالای 200 متر هستند ) به مشکل بر می خورم و وقتی کوئری رو echo می گیرم مقادیر رو نشون نمی ده ( null هستند ) ، یعنی از سشنچیزی نمی خونه و انگار سشن خالی هست .
این مشکل فقط روی هاست هست و در لوکال درست کار می کنه و مشکلی نیست.
دقیق نفمیدم چی میخوای!
محتویات سشن رو با این دستور چک کن
PHP:
print_r($_SESSION);
 

DaDaDooDoo

کاربر VIP
ببینید وقتی بیشتر از یک متغیر در سشن ذخیره می کنم هیچ کدوم ذخیره نمی شه ولی فقط روی هاست این مشکل رو دارم . یعنی ایراد از منطق برنامه نویسیم نیست چون روی لوکال بدون ایراد کار میکنه .
دارم از پیجینگ استفاده می کنم وقتی فقط یک متغیر دارم اون متغیر توی صفحات بعدی نتایج جستجو قابل دسترس هست اما وقتی بیشتر از یک متغیر می شه توی صفحات بعدی سشن خالی می شه .
 

DaDaDooDoo

کاربر VIP
آقا شرمنده ، مشکل از کدنویسی من بود . روی لوکال خوب تست نگرفته بودم متوجه باگش نشده بودم .
 

DaDaDooDoo

کاربر VIP
نه آقا مشکل حل نشد ، این کدمه :

PHP:
			if(!isset($_GET['pagination'])){//اینجا چک می شه که آیا روی صفحات پیجینگ کلیک شده یا نه 
				$_SESSION['price'] = $_POST['price'];
				$_SESSION['area1'] = $_POST['area1'];
				$_SESSION['kind'] = $_POST['kind'];;
				$_SESSION['negotation_kind'] = $_POST['negotation_kind'];
				$_SESSION['document_kind'] = $_POST['document_kind'];
			}
			$price= $_SESSION['price'];
			$area1 = $_SESSION['area1'];
			$kind = $_SESSION['kind'];
			$negotation_kind = $_SESSION['negotation_kind'];
			$document_kind = $_SESSION['document_kind'];

وقتی توی صفحات پیجینگ پیمایش می کنم (مثلاً روی عدد 2 کلیک می کنم که بره به صفحه دوم نتایج جستجو ) سشن پاک می شه ،اما نکته ای که اعصاب من رو خورد می کنه اینه که ترکیب بعضی از فیلدها ایجاد مشکل می کنه
مثلاً price با kind رو post می کنم مشکلی نیست اما area رو با kind که post می کنم سشن خالی میشه ( منظورم از پست کردن اینه که توی فرم جستجو مقدار بهش می دم و خالی نمی زارم )
توضیحش خیلی سخته :cry:
 
آخرین ویرایش:

freemagic

New Member
سشن ها توی ساختار شرطی مقدار دهی شدن
اون شرط برقرار شده که سشن ها مقدار دهی بشن؟!!! منظورم اینه که مطمئنی اون شرط برقرار شده؟
یه قسمت هم میزاشتی که اگه شرط برقرار نشد یه چیزی نشون بده، و اگر چیزی نشون داد شاید کمی از مشکل رو برطرف کنه
هرچند فکر میکنم قبلش از همون دستور print_r استفاده کنی بهتر باشه
 

oldooz

Well-Known Member
دوست عزیز برنامه شما دوقسمته.
اول باید مطمئن بشید که سشن ها درست ذخیره میشن و بعدش مطمئن بشید که روشی که چک میکنید تا ببینید سشن خالی هست یا نه درسته.
قسمت اول رو با همین شرطی که گذاشتید بررسی کنید. مثلا کنار مقدار دهی سشن ها یک دستور چاپ قرار بدید تا مطمئن بشید که بدنه if اجرا میشه.
قسمت دوم هم با همون دستوری که دوستان فرمودند مشخص میشه.
به اسم متغیرها در مقداردهی هم توجه کنید که فراموشتون نشه
هر برنامه از برنامه های کوچکتر تشکیل میشه پس گام به گام چک کنید ببینید خطاتون کجاست
 

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

بالا