مشکل در session

arian1374

تازه وارد
با سلام خدمت شما دوستان

من توی کد نویسی هام از session_start(); استفاده کردم و سایتم روی لوکال هاست بدون مشکل کار میکنه و حتی روی یک هاست رایگان هم آپلود کردم و هیچ مشکلی نداشتم الان که رفتم هزینه کردم و یه هاست خریدم ارور میده. ارورشم اینه

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/mehrsima/public_html/index.php:14) in /home/mehrsima/public_html/header.php on line 21

خیلی تو نت دنباله یه جواب گشتم ولی جوابه مناسبی پیدا نکردم. یکی میگفت باید استارت سشن رو اولین خط بیاری جواب نداد و کلی کارای دیگه با پشتیبانی هاستی ک خریدمم صحبت کردم نتونست راهنماییم کنه . امیدوارم شما بتونید بهم کمک کنید تا شاید مشکلم رفع شه؟!

ممنون

 

hannanstd.ir

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

session_start(): باید بالای بالای کد خطوط سایت باشه. یعنی قبل از کدهای مربوط به هدر.

 

arian1374

تازه وارد
ممنون دوست من. فهمیدم مشکلم کجا بوده

من header.php رو در صفحه اصلی include کرده بودم برای همون start session در وسط کد نویسیم بوده.الان در اول صفحه اصلی نوشتمش درست شد

ممنون از راهنماییت.

 

arian1374

تازه وارد
یه سوال دیگه؟!

به نظرت این ارور برای چیه؟!!

Warning: session_start(): Cannot send session cache limiter - headers already sent

 

linuxmint

کاربر عضو
یه سوال دیگه؟!

به نظرت این ارور برای چیه؟!!

Warning: session_start(): Cannot send session cache limiter - headers already sent
قبل از session_start نباید خروجی داشته باشید، در غیر این صورت خطای headers already sent رو دریافت می کنید.

درست نبودن یونیکد فایل php هم منجربه رخ دادن این خطا میشه که در این صورت با تبدیل یونیکد به utf-8 without bom مشکل حل میشه.

 

fateme123456

تازه وارد
قبل از session_start نباید خروجی داشته باشید، در غیر این صورت خطای headers already sent رو دریافت می کنید.

درست نبودن یونیکد فایل php هم منجربه رخ دادن این خطا میشه که در این صورت با تبدیل یونیکد به utf-8 without bom مشکل حل میشه.
چطور این تبدیل رو می تونم انجام بدم ؟
 

fateme123456

تازه وارد
Warning: Cannot modify header information - headers already sent by
من هم همچین خطایی دارم ونمی دونم چه کنم
 

linuxmint

کاربر عضو
چطور این تبدیل رو می تونم انجام بدم ؟
با استفاده از ویرایشگرهای فایل که قابلیت تنظیم یونیکد رو دارند مثل نرم افزار رایگان Notepad++ ( )

Warning: Cannot modify header information - headers already sent by
این مورد هم به این دلیل اتفاق میفته که قبل از ارسال هدر خروجی داشته باشید.
میتونه این خروجی همون BOM در یونیکد یا فضای خالی قبل یا بعد از تگ‌های باز و بسته php باشه یا قبل از ارسال هدر دستور echo یا print اجرا شده باشه.
در کل قبل از ارسال هدر نباید خروجی داشته باشید.
 
بالا