Home > Backend Development > PHP Tutorial > Solution to the problem of Cannot modify header information (php), modifyheader_PHP tutorial

Solution to the problem of Cannot modify header information (php), modifyheader_PHP tutorial

WBOY
Release: 2016-07-13 10:05:49
Original
1092 people have browsed it

The solution to the problem of Cannot modify header information (php), modifyheader

I made a unified error prompt function. In the function execution, the error address writing is processed first. The cookie is used to facilitate users to jump directly to the page to be executed after logging in. However, when testing on the server, an error that did not occur locally was prompted: Warning: Cannot modify header information - headers already sent by....
Such a statement, it is obvious that the reason for this is setcookie. After checking the Internet, there is the following explanation: There are some restrictions on the use of cookies themselves, 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 used before any data output Before reaching the browser, send
5.......
Based on the above restrictions, when executing the setcookie() function, you will often encounter "Undefined index", "Cannot modify header information - headers already sent by" ...and other problems, the way to solve the error "Cannot modify header information - headers already sent by" is to delay the data output to the browser before generating the cookie. Therefore, you can add ob_start() at the front of the program; this function. 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, but I think it’s wrong. They are 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 found the file following output started at, and saw that the first line was blank, and then Solved!
Solution two:
Most of the methods to solve this problem online are the same, but I encountered it again today Such a question. After trying it, I found that it works:
Find the php.ini configuration file, then search for an item: output_buffering, change its value from off to on, and restart Apache and it will be ok.

PS: Sometimes, when you create a php application in SAE, if your jump and setcookie are not supported, this will also happen. SAE development document specifications need to be followed.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/962050.htmlTechArticleCannot modify header information problem solution (php), modifyheader I made a unified error prompt function, in In the function execution, first process the error address and write it into the cookie...
Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template