更改主机,已发送的标头

时间:2012-03-16 22:13:37

标签: php header

我刚刚从我的xampp服务器传递到bluehost托管服务。 我有问题...

所以这就是故事,在我购买托管计划之前,他们告诉我.html中的任何php代码都会被执行(就像在我的xampp服务器上一样)。它没有工作......我向他们寻求帮助,他们告诉我,我必须将文件更改为.php,并且我不需要更改其中的任何代码。所以我做了,它没有工作......我正在寻找:

无法修改标题信息 - 第28行/home7/.../public_html/index.php已经发送的标题(/home7 /.../public_html/index.php:10开始输出)

我已经连续7个小时做了一些研究,无法让它发挥作用。

这是代码:

<html>
<head>
<?phpsession_start();


//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');
}

/*-----Connect to Database-----*/
include ('connect_database_2.php');

/* get username */
$username = $_SESSION['username'];


/*-----Include Navigation------*/
include ('frame.html');
?>


<LINK href="stylesheets/blog_index_stylesheet.css" rel="stylesheet" type="text/css">

    <title>Blog Photos</title>

我尝试将<?phpsession_start();放在一开始,但我得到服务器500错误或类似的东西,我告诉主机他们告诉我这是一个脚本错误。

2 个答案:

答案 0 :(得分:2)

至少对于第一行,你会想要这样写:

<?php session_start(); ?>

并确保将放在文件的顶部。 (甚至高于HTML。)

答案 1 :(得分:1)

您只能在发送任何实际HTML数据之前发送Cookie,因为当发送第一个字符(偶数空格或新行)时,也会发送标题。

只需在<html><head>之后移动?>代码。