Session_start () doesn't work and gives a warning even though it's at the top of the page

This code worked correctly in Xampp, but it didn't work after I uploaded it to the server

<?php 
ob_start();
session_start();
if(session_status()!=PHP_SESSION_ACTIVE) { session_start();}
if(!isset($_SESSION['username']) || !isset($_SESSION['password']))
{
    header('location:login.php');
}
$connection=mysqli_query('localhost','username','password','dbname')
?>
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/html">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

      

The page loaded fine, but it gives an error on top of the page and because it won't open if no session is established. this is the warning i am getting right now.

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home3/index.php:1) in /home3/index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /home3/index.php:1) in /home3/index.php on line 7

      

+3


source to share


3 answers


use the below code and make sure there is no space left in your code before the start of the tag <?php

.

<?php  session_start();
ob_start();

      



Note that the session can only be started before the output on the page starts, and the same rule applies for the header function in php.

+2


source


session_start()

should be at the top of the page



+2


source


First, there should be no space before <?php

and after the tag ?>

.

Second, make sure you are not submitting ANY content before calling session_start. Better yet, just make session_start the first thing you do in your PHP file (so put it at the absolute start, before all HTML, etc.).

<?php 
 session_start();
 ob_start();

 if(session_status()!=PHP_SESSION_ACTIVE) { session_start();}

 if(!isset($_SESSION['username']) || !isset($_SESSION['password']))
 {
  header('location:login.php');
 }

 $connection=mysqli_query('localhost','username','password','dbname')
?>

      

+1


source







All Articles