Solution to php session error: 1. Delete the output before "session_start();"; 2. Use "include_once()" when calling the configuration file and avoid repeated call errors.
The operating environment of this article: windows7 system, PHP7.1 version, DELL G3 computer
Specific questions:
After successful login, I record the session for the user, as follows:
$account=$_POST['account']; //获取表单传递的用户名如果用户名和密码正确,则:session_start();session_register("account");运行了以后,发现报错如下:Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\AppServ\www\myweb\conn.php:2) in D:\AppServ\www\myweb\loginsave.php on line 16Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\AppServ\www\myweb\conn.php:2) in D:\AppServ\www\myweb\loginsave.php on line 16Fatal error: Call to undefined function session_register() in D:\AppServ\www\myweb\loginsave.php on line 17
The so-called lines 16 and 17 are the two lines above: session_start();session_register("account"); Yesterday I ran It's still normal, why is there a problem now? . . . Is there anything wrong with this usage? How to deal with it?
Solution:
1. There must be no output before session_start();. Opening the session is usually placed on the first line.
2. You can check whether the session has been opened in the conn.php file. Generally, the session is opened in the first line of the configuration file. When calling the configuration file, use include_once() to avoid repeated call errors.
[Recommended learning: "PHP Video Tutorial"]
The above is the detailed content of How to solve php session error problem. For more information, please follow other related articles on the PHP Chinese website!