This code was working properly in Xampp but it's not working after I uploaded it on 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 has loaded fine but it's giving error on top of the page and because it's an admin page it must not open unless the session is set. this is the warning that 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
use the below code and make sure that you do not have any space left over in your code before the <?php
tag starts.
<?php session_start();
ob_start();
Note that session can be started only before output starts on the page and same rule applies for the header function in php.
The session_start()
should be on the top of the page
First, there should not be no space before <?php
and after ?>
tag.
Second, Check that you don't send 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 beginning, 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')
?>