PDA

View Full Version : چگونگی استفاده از session در پروژه



محمد شهرکی
چهارشنبه 23 فروردین 1391, 15:26 عصر
سلام دوستان . بنده ده صفحه php درست کردم ، که در ابتدای هر کدوم از این صفحات ،‌ باید چک کنم ، ببینم آیا Session وجود دارد یا خیر . بنده با سایر فایل هایی که در php نظیر ini و غیره وجود دارد ، اطلاعاتی ندارم و حتی کاربردشون رو هم نمی دونم . من برای این کار اومدم یه صفحه به نام header.php درست کردم و در ابتدایه اون این کد رو نوشتم .


session_start();
if (!isset($_SESSION["user_session"]))
{
header("location:../index.php?text=error");
exit();
}

و بعد در ابتدا هر کدوم از اون ده صفحه فایل header.php رو include_once کردم . حالا بعضی وقت ها با این پیغام مواجه می شم . آیا راهکاره بهتری برای برخورداری از Session ها می تونید بهم توصیه کنید یا اینکه چی کار کنم از دسته این پیغام نجات پیدا کنم . معنی جمله رو متوجه میشم اما نمی تونم بفهمم مشکل از کجاست
Warning: session_start() [function.session-start (http://localhost/4lig/iran/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at E:\xampp\htdocs\mysite\iran\page2.php:43)

ممنون

khanlo.javid
چهارشنبه 23 فروردین 1391, 15:36 عصر
دوست عزیز مقدار auto session start تو فایل php.ini نرم افزار تو نگاه بنداز ببین چنده 0 یا 1 اگه 0 بود که هیچ اما اگه 1 بود مشکل دقیقا از همینجاست و مقدار 1 نشون دهنده اینه که تمامی پروژه هایی که تو این نرم افزار اجرا میشن یعنی تمامی صفحاتش مقدار session start بگیره حتی بدون اینکه شما داخل صفحتون سشن ها ر فعال کنید و به خاطر همین نمیشه هم اونجا یک باشه و هم تو صفحتون سشن ها رو استارت کنید.





موفق باشید.

MostafaEs3
چهارشنبه 23 فروردین 1391, 17:03 عصر
توی فایل هدر سشن رو بالای بالا استارت بزن ، بطور مثال :



<?php session_start(); ?>
<html>
<head>
.....................

و همینطور فایل هدر رو توی اون 10 صفحه بالای همه ی کدها اینکلود کن .... همینطور فایل header رو با فرمت utf-8 ذخیره کن .. احتمال 90 درصد باید درست بشه

salehi-ali
چهارشنبه 23 فروردین 1391, 22:43 عصر
سلام منم این مشکل رو دارم اما فایل php.ini رو پیدا نکردم من از نرم افزار XAMPP استفاده می کنم به مسیر XAMP/PHP//PHP.INI رفتم اما تو اون قسمت auto session start رو ندیدم میشه دقیقا بگید کجا باید برم

mostafa272
پنج شنبه 24 فروردین 1391, 09:30 صبح
1- فایلهای php رو با unicode utf-8 without BOM ذخیره کن.

2- تگ زیر رو به قسمت head صفحات اضافه کن تا کلمات ناخوانا نباشند:


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


3- قبل از باز کردن تگ های php اگر فاصله قرار داده ،فاصله ها رو حذف کن(مخصوصا اول فایل!)

معمولا اینکارها رو انجام بدی درست میشه

اگر باز هم درست نشد ، بعنوان اولین دستور توی فایلتون ;()ob_start رو بنویسید و در انتها هم ;()ob_end_flush رو قرار بدین.

MMSHFE
پنج شنبه 24 فروردین 1391, 11:36 صبح
خودمونیم ها این جمله آخریتون چقدر شبیه جمله ای هست که من توی یک تاپیک دیگه گفته بودم (ازنظر نوع نگارش و کاربرد دقیق همون کلمات) :چشمک:

mostafa272
پنج شنبه 24 فروردین 1391, 12:06 عصر
چون این مسئله و سوال هر روز تکرار میشه راجع به سشن و بقیه مشکلات جانبی اش، گفتم همه رو یه جا بگم دیگه هر بار باز نپرسن .اون جمله هم درسته،جمله آقای مدیر هستش که دیروز تو یه تاپیک مشابه این گفتند! :لبخندساده:

MMSHFE
پنج شنبه 24 فروردین 1391, 12:18 عصر
البته منظورم از گفتن اینکه اون جمله رو بنده گفتم فقط شوخی بود ها. یک موقع ناراحت نشده باشین. حالا یه حرفی هم ما گفتیم، کار پیچیده نبوده که بگم کپی رایت داره و از اینجور حرفها. فقط قصدم اینه که این تالار جوی دوستانه توأم با احترام متقابل بین اعضا داشته باشه. موفق باشید.

mostafa272
پنج شنبه 24 فروردین 1391, 12:40 عصر
نه جناب مدیر، وجود شما و استفاده از دانش و تجربه شما واسه ما تازه کارها نعمتیه! به هر حال شما هر روز چندین ساعت وقت میذارید و اشکالات اعضا رو برطرف می کنید. این خودش کلی ارزش داره!