PDA

View Full Version : سوال: Warning: session_start()



arashaliz
پنج شنبه 13 اسفند 1388, 15:43 عصر
با سلام
من یک کد login استفاده کردم که local بدون مشکل کار میکنه ذش wamp server ولی روی سرور این error رو میده .

Warning: session_start() [function.session-start (http://www.arashalizadeh.com/page/admin/function.session-start)]: Cannot send session cookie - headers already sent by (output started at /home/xxx/public_html/page/admin/login-exec.php:2) in /home/xxx/public_html/page/admin/login-exec.php on line 8

Warning: session_start() [function.session-start (http://www.arashalizadeh.com/page/admin/function.session-start)]: Cannot send session cache limiter - headers already sent (output started at /home/xxx/public_html/page/admin/login-exec.php:2) in /home/xxx/public_html/page/admin/login-exec.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/page/admin/login-exec.php:2) in /home/xxx/public_html/page/admin/login-exec.php on line 79


ممنون می شم اگه راهنمایی کنید که مشکل چیه؟؟؟

امیـرحسین
پنج شنبه 13 اسفند 1388, 17:36 عصر
شما قبل از این تابع نباید خروجی داشته باشید. یعنی نه echo نه کوکی نه هیچ خروجی دیگه ای.
مخصوصا کدهای HTML قبل از تگ php?> که می تونه تو همون فایل یا فایلهای include شده اتفاق بیفته.

arashaliz
پنج شنبه 13 اسفند 1388, 19:10 عصر
سلام اقا ممنون از راهنماییتون ولی نشد code هارو هم حذف کردم نشد . راهنمایی کنید لطفا

arashaliz
پنج شنبه 13 اسفند 1388, 19:57 عصر
الا هین error رو می ده
Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/page/config.php:21) in /home/xxx/public_html/page/admin/login-exec.php on line 69

امیـرحسین
پنج شنبه 13 اسفند 1388, 23:26 عصر
علت بروز این خطا همونی بود که عرض کردم ولی پیش میاد که شما یک فایل میسازید و فقط این تابع رو توش میذارید و باز هم همین خطا رو میگیرید. اگر مشکل شما هم اینجوریه، بخاطر UTF-8 بودن فایل شماست که ادیتورتون یه کاراکتر غیرقابل رویت به اولش اضافه کرده و اون کاراکتر همونجوری غیرقابل رویت به خروجی میره و خروجی در نظر گرفته میشه. باید از طریق تغییر فرمت فایل، اون کاراکتر رو حذف کنید تا درست شه. اون کاراکتر نشانه UTF-8 است و BOM نام داره.

binyaft
جمعه 14 اسفند 1388, 04:50 صبح
برو نوت پد پلاس پلاس رو دانلود کن و کار های زیر رو انجام بده


انخاب یونیکد utf-8 بدون امضا ی BOM
گذاشتن session_start در خط اول صفحه

Reza1607
شنبه 15 اسفند 1388, 10:27 صبح
این طور که خطا نشون می ده شما فایل داخل فایل config.php
session رو استارت کردید و این کار رو دوباره در فایل login-exec.php انجام دادید و چون فایل config.php رو به صفحه لاگین تون اضافه کردید این مشکل رخ داده

و همون طور دوست عزیزمون binyaft گفتن باید از session_start(); در ابتدای صفحه استفاده کنید
یعنی قبلا از این که کد html یا php بنویسید ابتدا session_start(); رو بنویسید تا دیگه این خطا نشون داده نشه

arashaliz
جمعه 21 اسفند 1388, 01:36 صبح
ممنون از راهنمایی ها
ابن کاررو کردو یک قدم جلو رفتیم و لی مشکل جدید پیش امده



Warning: session_regenerate_id() [function.session-regenerate-id]: Cannot regenerate session id - headers already sent in /home/xxx/public_html/page/admin/login-exec.php on line 60

Warning: Cannot modify header information - headers already sent by (output started at /home/xxx/public_html/page/config.php:21) in /home/xxx/public_html/page/admin/login-exec.php on line 68

line 60: session_regenerate_id();
lin 68: header("location: secpage.php");


if($result) {
if(mysql_num_rows($result) == 1) {
//Login Successful
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['member_id'];
$_SESSION['SESS_FIRST_NAME'] = $member['firstname'];
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
session_write_close();


header("location: secpage.php");
exit();

arashaliz
جمعه 21 اسفند 1388, 14:49 عصر
دوستان این الان session رو ساخته فقط redirect نکرده
مسیر صفحه admin رو دستی میدم تو url کار میکنه
please help

arashaliz
جمعه 21 اسفند 1388, 16:18 عصر
ممنون از جواب ولی فکر می کنم این توابع رو برای استفاده ایجاد کردند فکر نکنم اشتباهی در نوشتن باشه به هر حال ممنون از راهنمایی