One day when I was writing a program, I wrote the address of the error into a cookie so that the user could jump directly to the page to be executed after logging in. However, when I tested it on the server, an error that did not occur locally was prompted: Warning: Cannot Modify header information - headers already sent by.... This statement is obviously caused by setcookie. After checking the Internet, there is the following explanation: The cookie itself has some restrictions on its use, such as:
1. The description of calling setcookie must be placed before the tag;
2. Echo cannot be used before calling setcookie;
3. The cookie will not appear in the program until the web page is reloaded;
4. The setcookie function must be sent before any data is output to the browser.
Solution 1:
Based on the above restrictions, when executing the setcookie() function, you often encounter problems such as "Undefined index", "Cannot modify header information - headers already sent by"... etc. To solve the problem of "Cannot modify header information - headers already sent by" "The method of this error is to delay the output of data to the browser before generating the cookie. Therefore, you can add the ob_start(); function at the front of the program. This will solve it. If you want to add ob_start(), it is not feasible. It seems a bit depressing to change this after the program has been written. When I found out that this error was prompted, I was wondering why my local computer did not prompt this problem. I thought it was The PHP.ini configuration is different, and I think it’s wrong, but it’s almost the same..
So look at the sentence "output started at...." that follows, which means that there is output in another place before setcookie, so I find the file that follows output started at and see the first line It's blank, and then it's
Solved!
Solution 2:
The solutions to this problem found online are mostly the same, but today I encountered such a problem again. After trying it, I found it works:
Find the php.ini configuration file in WINDOWS on the C drive, then search for one item: output_buffering, change its value from off to on, and restart Apache.
Reprinted from www.zhangchaoxie.com
http://www.bkjia.com/PHPjc/477884.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477884.htmlTechArticleOne day when I was writing a program, I processed the error address and wrote it into a cookie to facilitate the user to jump directly after logging in. Go to the page to be executed, but found that when testing on the server...