PDA

View Full Version : مشکل در اجرای تابع session_start();



sweb
یک شنبه 12 فروردین 1386, 03:05 صبح
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at f:\my documents\www.example.ws\www\test.php:8) in f:\my documents\www.example.ws\www\test.php on line 9


این ارور وقتی داده میشه که فقط این تابع رو احرا می کنم. مشکل از چیه ؟

moslem-visual
یک شنبه 12 فروردین 1386, 10:44 صبح
شما احتمالا قبلا یکبار Session_Start رو اجرا کردی، اگه برنامه ات رو اینجا بزاری میتونیم کمکت کنیم.

ealvandi
یک شنبه 12 فروردین 1386, 10:49 صبح
آیا در فایل php.ini مقدار session.auto_start رو برابر 1 کردی؟



session.auto_start = 1

sweb
یک شنبه 12 فروردین 1386, 13:02 عصر
برنامه ام هیچ کدی نیست جز


<?php
session_start();
?>


در ضمن

session.auto_start = 0

کمک کنید.

ealvandi
یک شنبه 12 فروردین 1386, 13:35 عصر
در فایل php.ini در مسیر c:\windows
مقدار session.auto_start رو برابر 1 قرار بده بعد دستگاه رو ReStart کن

یعنی


session.auto_start = 1




انشا ا.. درست بشه

موفق باشی

peyman1987
دوشنبه 13 فروردین 1386, 02:05 صبح
برنامه‌ات رو با چه ادیتوری نوشتی؟

kianian
دوشنبه 13 فروردین 1386, 13:03 عصر
سلام
هیچکدوم از این راه حلها که گفتن نیست.
شما باید برای استفاده از session در اولین سطر صفحه قبل از هرگونه تگ HTML اولین خط بنویسی


<?php
session_start();
?>
<html>
<header>
....
</header>
<boby>

HTML and Your page Design Code

houtanal
دوشنبه 13 فروردین 1386, 13:46 عصر
در فایل php.ini در مسیر c:\windows
مقدار session.auto_start رو برابر 1 قرار بده بعد دستگاه رو ReStart کن

برای اطمینان از مسیر و بررسی اطلاعات مشابه از ()phpinfo استفاده کنید.

ealvandi
دوشنبه 13 فروردین 1386, 21:26 عصر
ادیتور من dreamweaver هست

tabib_m
دوشنبه 13 فروردین 1386, 21:58 عصر
شما یک فایل دیگه ایجاد کن
و این فایل رو از خط دوم به بعد کپی کن
و بعد توی فایل جدید پیست کن.

بعد خط اول رو دوباره توی فایل دوم بنویس.
(گاهی یک سری کاراکترهای نامرئی اول فایل به وجود میان که دلیلش رو دقیق نمیدونم)

موفق باشید.

peyman1987
سه شنبه 14 فروردین 1386, 02:35 صبح
شما یک فایل دیگه ایجاد کن
و این فایل رو از خط دوم به بعد کپی کن
و بعد توی فایل جدید پیست کن.

بعد خط اول رو دوباره توی فایل دوم بنویس.
(گاهی یک سری کاراکترهای نامرئی اول فایل به وجود میان که دلیلش رو دقیق نمیدونم)

موفق باشید.

درست میگن مثلا من با نوت‌پد کد مینوشتم بعد هر کاری میکردم توابع جلیه و هدر رو اجرا نمیکرد و کاراکتری هم قبل از دستورات چاپ نکرده بودم. دلیل اضافه شدن این کاراکترهای نامرئی ذخیره کردن فایل با انکودینگ یونیکد هست. من خودم این مشکل رو با ادیتور PHP Designer 2007 حل کردم چون این ادیتور میتونه این کاراکترها رو نمایش بده و میشه اونا رو پاک کرد تا دیگه مشکلی پیش نیاد.

moslem-visual
چهارشنبه 15 فروردین 1386, 20:54 عصر
خب اگه مشکلتون با راه حلهای دوستان حل نشد شاید تابع session_write_close بتونه کمکتون کنه، من خودم معمولا توی توابع و کلاسهام زیاد ازش استفاده مینک، قبل از اجرای start_session بهتره اول با اجرای این تابع از داون بودن نویسنده ی نشست سرور مطمئن بشی.