PHP 警告:session_start():无法发送 session 缓存限制器 - headers 已发送,而 session_start 添加在顶部
PHP Warning: session_start(): Cannot send session cache limiter - headers already sentwhile the session_start is added at top
我正在使用 PHP 进行开发。但在登录时我收到错误 PHP 警告:session_start(): 无法发送 session 缓存限制器 - headers 已发送
这是我的 session 文件,已添加到页面顶部。
我的代码 -
connection_config.php
<?php
session_start();
//ob_start();
//error_reporting(1);
$server ='localhost';
$user ='**********';
$password ='*********';
$database = '**********';
define ('DB_HOST', $server);
define ('DB_USER', $user);
define ('DB_PASSWORD', $password);
define ('DB_NAME', $database);
function get_connection()
{
$connection=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
// Check connection
if (mysqli_connect_errno())
{
echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
}else
{
return $connection;
}
}
?>
在mysql_function.php
<?php
require_once("connectin_config.php");
在function.php
<?php
require('mysql_functions.php');
在index.php
<?php
include('function/function.php');
login.php
<?php
include('function/function.php');
$mess='';
if(isset($_POST['submit'])){
record_set('get_data','SELECT * FROM `admin` WHERE `email`="'.$_POST['email'].'" and password="'.md5($_POST['password']).'"' );
if($totalRows_get_data){
$row_get_data= mysqli_fetch_assoc($get_data);
$mess='login Successfully';
$_SESSION['admin_id']=$row_get_data['id'];
$_SESSION['admin_phone']=$row_get_data['phone'];
$_SESSION['admin_fname']=$row_get_data['fname'];
$_SESSION['admin_lname']=$row_get_data['lname'];
$_SESSION['user_type']=$row_get_data['user_type'];
$_SESSION['admin_image']=$row_get_data['image'];
$_SESSION['admin_cdate']=$row_get_data['cdate'];
reDirect('index.php');
}else{
$mess='Username or Password Invalid';
}
}
?>
我无法评论将所有 php 代码放在 <!DOCTYPE html>
之前或正文标签中!
确保 <? php tags
之间没有空格。包含文件的位置。
打开错误报告:
error_reporting(E_ALL);
ini_set('display_errors', 1);
如果您在本地主机上使用 wampserver,请检查 C:\wamp\logs\php_error.txt
中的 error_log 文件。
尝试测试 isset($_SESSION)
如果它已经存在则不要使用 session_start();
看起来你正在通过第二个会话从另一个文件开始尝试像这样:
if(!isset($_SESSION)){
session_start();
}
先使用 session_start()
。
我正在使用 PHP 进行开发。但在登录时我收到错误 PHP 警告:session_start(): 无法发送 session 缓存限制器 - headers 已发送
这是我的 session 文件,已添加到页面顶部。
我的代码 - connection_config.php
<?php
session_start();
//ob_start();
//error_reporting(1);
$server ='localhost';
$user ='**********';
$password ='*********';
$database = '**********';
define ('DB_HOST', $server);
define ('DB_USER', $user);
define ('DB_PASSWORD', $password);
define ('DB_NAME', $database);
function get_connection()
{
$connection=mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME);
// Check connection
if (mysqli_connect_errno())
{
echo 'Failed to connect to MySQL: ' . mysqli_connect_error();
}else
{
return $connection;
}
}
?>
在mysql_function.php
<?php
require_once("connectin_config.php");
在function.php
<?php
require('mysql_functions.php');
在index.php
<?php
include('function/function.php');
login.php
<?php
include('function/function.php');
$mess='';
if(isset($_POST['submit'])){
record_set('get_data','SELECT * FROM `admin` WHERE `email`="'.$_POST['email'].'" and password="'.md5($_POST['password']).'"' );
if($totalRows_get_data){
$row_get_data= mysqli_fetch_assoc($get_data);
$mess='login Successfully';
$_SESSION['admin_id']=$row_get_data['id'];
$_SESSION['admin_phone']=$row_get_data['phone'];
$_SESSION['admin_fname']=$row_get_data['fname'];
$_SESSION['admin_lname']=$row_get_data['lname'];
$_SESSION['user_type']=$row_get_data['user_type'];
$_SESSION['admin_image']=$row_get_data['image'];
$_SESSION['admin_cdate']=$row_get_data['cdate'];
reDirect('index.php');
}else{
$mess='Username or Password Invalid';
}
}
?>
我无法评论将所有 php 代码放在 <!DOCTYPE html>
之前或正文标签中!
确保 <? php tags
之间没有空格。包含文件的位置。
打开错误报告:
error_reporting(E_ALL);
ini_set('display_errors', 1);
如果您在本地主机上使用 wampserver,请检查 C:\wamp\logs\php_error.txt
中的 error_log 文件。
尝试测试 isset($_SESSION)
如果它已经存在则不要使用 session_start();
看起来你正在通过第二个会话从另一个文件开始尝试像这样:
if(!isset($_SESSION)){
session_start();
}
先使用 session_start()
。