简体   繁体   中英

php SESSION variables on bluehost

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM