Im having problems with my php SESSION varialbles my authentication system worked fine on my xampp server, and now im having problems since i moved over to bluehost
normally, if i open a page like index.php it checks to see if you are logged in, and if your not sends you to the login page, but that isn't working and just for testing i tried echoing the $_SESSION['username']
and it turns up blank
now i did what ALEX said and i got this error: Cannot modify header information - headers already sent by (output started at /home7/.../public_html/blog.php:4) in /home7/blogboua/public_html/blog.php on line 22
here is the code:
<?php session_start(); ?>
<html>
<head>
<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
/*-----Connect to Database-----*/
include ('connect_database_2.php');
//check if logged in
function isLoggedIn()
{
if(isset($_SESSION['valid']) && $_SESSION['valid'])
return true;
return false;
}
//if the user has not logged in
if(!isLoggedIn())
{
header('Location: login_form.html');
die();
}
/* get username */
$username = $_SESSION['username'];
/*-----Include Navigation------*/
include ('frame.html');
?>
You are trying to send a Location
header after you've already sent <html><head>
on lines 2-3. You can't do that. Headers must be sent before any output is sent.
I honestly don't know how your code worked on your local server.
Set just inside the <?php
of your index.php
...
ini_set('display_errors', 'on');
error_reporting(E_ALL);
Then reload index.php
(the previously blank page ).
It will tell you the cause for the error. Possibly, it could not write session data to /tmp/
.
If you are using a shared service provider like bluehost, then you need to be careful with your assumptions about the persistence of sessions as these hosting providers will garbage collect / cleanup old user /tmp files. IMO, the easiest way to avoid this is to declare an explicit session handler and store your session context in your MySQL D/B. See the PHP session_save_handle r discussions for examples of how to do this.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.