PDA

View Full Version : مشکل در هنگام استفاده از session ها در سیستم ورود کاربری



هم دانشگاهی
شنبه 13 خرداد 1391, 18:52 عصر
سلام

وقتی کاربر یوزرنیم و پسورد رو وارد میکنه اگه درست باشه من user کاربر رو داخل سشن میریزم.
$_SESSION['U'] = $row['username'];

( در ابتدا فایل دستور <?php ob_start(); ?> را نوشتم )

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

if(isset($_SESSION['U']))
{
echo $_SESSION['U'].'خوش آمديد <br/>';
echo '<input type="button" value="خروج" />';
}

لطفا راهنمایی کنین !

blackmak
شنبه 13 خرداد 1391, 19:26 عصر
session_start() یادت نرفته ؟

هم دانشگاهی
شنبه 13 خرداد 1391, 21:18 عصر
session_start رو که میزارم warning میده !

به همین خاطر از <?php ob_start(); ?> استفاده کردم

persian-boy
شنبه 13 خرداد 1391, 21:42 عصر
session_start رو که میزارم warning میده !

به همین خاطر از <?php ob_start(); ?> استفاده کردم

خب نمیشه دوست عزیز

انکدینگ صفحتون رو UTF8 Without BOM قرار بدید ، خطا نمیگیرید

MMSHFE
شنبه 13 خرداد 1391, 21:46 عصر
ob_start باید همراه session_start به کار بره تا قبل از صدازدن تابع session_start بافر خروجی فعال بشه. بهرحال توی هر فایلی که بخواد با سشن کار کنه، session_start لازمه. حالا چه با ob_start باشه، چه بدون اون.

هم دانشگاهی
شنبه 13 خرداد 1391, 23:05 عصر
ob_start باید همراه session_start به کار بره تا قبل از صدازدن تابع session_start بافر خروجی فعال بشه. بهرحال توی هر فایلی که بخواد با سشن کار کنه، session_start لازمه. حالا چه با ob_start باشه، چه بدون اون.

خب من session_start رو هم قبل و هم بعد از ob_start میزارم باز هم همون warning میاد !

MMSHFE
شنبه 13 خرداد 1391, 23:07 عصر
قبل نه، فقط بعدش بگذارین. فایل رو هم حتماً با کدگذاری UTF-8 without BOM ذخیره کنید.

هم دانشگاهی
شنبه 13 خرداد 1391, 23:17 عصر
من قبلش هم که میگذارم باز هم warning میده در ضمن نوشته های سایت فارسی هست اگه از UTF-8 without BOM استفاده کنم نوشته درست چاپ نمیشه و حتی باز هم warning میده !

MMSHFE
شنبه 13 خرداد 1391, 23:24 عصر
درست میشه. کافیه توی قسمت head صفحه این تگ رو بگذارین:

<meta http-equiv="Content-Type" content=text/html; charset=utf-8"/>موقع وصل شدن به دیتابیس هم همیشه بعد از اتصال این دستور رو بنویسید:

mysql_query('SET NAMES \'utf8\'');
موفق باشید.

هم دانشگاهی
شنبه 13 خرداد 1391, 23:39 عصر
درست شد ! warning هم درست شد! منتها یک خط خالی اول فایلم بود اون رو که برداشتم مشکلش حل شد اما . . .

اما حالا وقتی می خوام از اطلاعت داخل سشن استفاده کنم درست کار نمیکنه !

من نوشتم :
if(isset($_SESSION['U']))
{
echo $_SESSION['U'].'خوش آمديد <br/>';
echo '<input type="button" value="خروج" />';
}

اما هیچ وقت این شرط درست نیست !

MMSHFE
شنبه 13 خرداد 1391, 23:42 عصر
تأکید میکنم فایلتون حتماً باید با کدگذاری UTF-8 without BOM ذخیره بشه. درصورت امکان فایل رو اینجا بگذارین تا براتون درستش کنم.