banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows cho em hỏi về lỗi session trong php  XML
  [Question]   cho em hỏi về lỗi session trong php 03/11/2007 23:30:13 (+0700) | #1 | 95105
[Avatar]
luongminhquy
Member

[Minus]    0    [Plus]
Joined: 20/12/2006 11:23:20
Messages: 6
Offline
[Profile] [PM]
em sử dụng php và khi khai báo session bằng hàm
session_start thì bị báo lỗi là :
Warning: session_start(); [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\file.php:2) in D:\AppServ\www\file.php on line 3
ý nghĩa của lỗi như thế này là sao ạ
[Up] [Print Copy]
  [Question]   Re: cho em hỏi về lỗi session trong php 04/11/2007 00:24:36 (+0700) | #2 | 95122
hangsachtay
Member

[Minus]    0    [Plus]
Joined: 02/01/2007 19:43:51
Messages: 69
Offline
[Profile] [PM]
bạn có thể show source của file file.php để tham khảo được không ?
[Up] [Print Copy]
  [Question]   Re: cho em hỏi về lỗi session trong php 04/11/2007 04:26:43 (+0700) | #3 | 95161
[Avatar]
learn2hack
Elite Member

[Minus]    0    [Plus]
Joined: 29/06/2006 16:32:37
Messages: 825
Offline
[Profile] [PM] [WWW]
Lỗi: Không thể gửi session cookie - headers đã được gửi. Lỗi xảy ra khi dùng 1 hàm nào đó để gửi thông tin ra màn hình, hay đi bất cứ đâu (như echo) trước khi dùng hàm session_start(). Khắc phục lỗi này bằng cách đưa hàm sesion_start() lên đầu chương trình.
Blog: http://hontap.blogspot.com
Tải phần mềm miễn phí: http://www.taiphanmem.org
[Up] [Print Copy]
  [Question]   Re: cho em hỏi về lỗi session trong php 05/11/2007 03:49:00 (+0700) | #4 | 95362
jpg
Member

[Minus]    0    [Plus]
Joined: 03/07/2006 21:35:55
Messages: 89
Offline
[Profile] [PM]

learn2hack wrote:
Lỗi: Không thể gửi session cookie - headers đã được gửi. Lỗi xảy ra khi dùng 1 hàm nào đó để gửi thông tin ra màn hình, hay đi bất cứ đâu (như echo) trước khi dùng hàm session_start(). Khắc phục lỗi này bằng cách đưa hàm sesion_start() lên đầu chương trình. 

smilie Theo tớ thi không phải như vậy đâu , đây là việc sử dụng hàm header() trong php để thực hiện việc wwwect nhưng trước hàm header đó lại có lệnh print dẫn đến xảy ra lỗi như vậy thế thôi chứ chả phải lỗi Session gì đâu bạn có thể tham khảo vấn đề đó tại đây :
Code:
http://www.php-scripts.com/20050922/24/


hay thông tin thêm tại :
Code:
http://www.php.net/header


Thêm vào đó như ban l2h đã nói thì trước mỗi file *.php khi có sử dụng session thì phải khởi động session_start(); cho nó (Nếu Server đã hỗ trợ thì thôi) nhưng nếu đã gọi session_start() thì nó phải trước tất cả các lệnh của chương trình ...
[Up] [Print Copy]
  [Question]   Re: cho em hỏi về lỗi session trong php 05/11/2007 09:33:13 (+0700) | #5 | 95414
[Avatar]
LM
Moderator

Joined: 16/04/2002 09:27:22
Messages: 129
Offline
[Profile] [PM] [WWW] [Yahoo!]
- Kiểm tra code đầu trang có kí tự gì đặc biệt, nếu dùng DreamWMX đánh UTF 8 thì thường đầu file nó thêm 2 3 ký tự null trước <? <?php, xóa và thử lại. Mở bằng notepad.
- Thêm dòng ob_start() làm line đầu tiên của page dùng session.
ob_start();
session_start();

- Kiểm tra các code nếu nhúng qua nhúng lại smilie ( include*, require*) thì check xem ở đâu đó có call lại hàm session_start
[Up] [Print Copy]
  [Question]   Re: cho em hỏi về lỗi session trong php 06/11/2007 05:15:22 (+0700) | #6 | 95567
[Avatar]
luongminhquy
Member

[Minus]    0    [Plus]
Joined: 20/12/2006 11:23:20
Messages: 6
Offline
[Profile] [PM]

learn2hack wrote:
Lỗi: Không thể gửi session cookie - headers đã được gửi. Lỗi xảy ra khi dùng 1 hàm nào đó để gửi thông tin ra màn hình, hay đi bất cứ đâu (như echo) trước khi dùng hàm session_start(). Khắc phục lỗi này bằng cách đưa hàm sesion_start() lên đầu chương trình. 


Cám ơn bác nhiều nhé, quả thực em mới là một tên amatuer thôi nên mới mắc cái lỗi vặt vãnh này. Vậy các bác cho em hỏi thêm một câu nữa là. Session trong PHP khác với Cookie trong PHP như thế nào.
Em đã demo thử một chương trình (thật ra thì chỉ là một đoạn mã nhỏ thôi) như thế này

<?/*if(isset($_SESSION['views']))
{
$_SESSION['views']=$_SESSION['views']+1;
}
else
{
$_SESSION['views']=1;
}
echo $_SESSION['views']
*/?>

em thấy rằng mỗi lần nhấn nút refres trên trình duyệt thì $_SESSION['views'] lại đc cộng thêm một vào giá trị của nó. Nhưng nếu chuyển sang một trang mới bằng lệnh <a href> và quay lại trang có đoạn mã trên (chưa hề close trình duyệt ) thì $_SESSION['views'] lại trở về giá trị bằng 1. Có phải cookie thì lưu lại được sau khi chuyển qua trang mới (ngoại trừ đóng trình duyệt lại) còn session thì chỉ lưu lại trên chính trang đấy thôi đúng không ạ.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|