PHP标头未重定向到home.PHP

PHP标头未重定向到home.PHP,php,Php,我正在尝试使标题重定向,它就像2天前一样工作,我不知道我做了什么来打破它。它现在只是重新加载页面,但会启动会话 这是代码 <?php if(isset($_SESSION['id'])) { header("Location: home.php"); } require_once 'global.php'; ?> <head> <title>BookWizard - Join Now!</title> <meta cha

我正在尝试使标题重定向,它就像2天前一样工作,我不知道我做了什么来打破它。它现在只是重新加载页面,但会启动会话

这是代码

<?php

if(isset($_SESSION['id']))

{
 header("Location: home.php");
}

require_once 'global.php';

?>

<head>
 <title>BookWizard - Join Now!</title>




<meta charset="utf-8" />
    <meta name="description" content="FORMETER jQuery plugin" />
    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Marmelad">
    <link rel="stylesheet" href="/_secure/stylesheets/style.css" />
    <link rel="stylesheet" href="css/formeter.1.0.css" />
    <!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js">
                  </script><![endif]-->
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">

    </script>
    <script src="javascript/formeter.1.0.min.js"></script>
    <script>
        $(function(){
            $('#percentage').formProgress({
                'speed' : 800,
                'style' : 'green',
                'bubble' : true,
                'selector' : '.recommended'
            });
        });
    </script>
</head>
<body>
    <header>
        <a class="logo" href="index.html"><!-- --></a>
    </header>
    <div id="wrapper">




        <div class="clear"></div>
        <div id="container">

            <div id="registercontainerno">

         <img src="images/logo.png" class="frontpagelogo">


   <div class="meter" style="position:absolute; margin-left: 50px; margin-top: 20px;">
                    <div id="percentage" data-percent=""></div>
                </div>



      <br><br><br><br>

            <h2 class="paragraphf">BookWizard Information</h2>


<?php
if(isset($_POST['password']))
{
$firstname = mysql_real_escape_string($_POST['firstname']);
$email = mysql_real_escape_string($_POST['email']);
$username = mysql_real_escape_string($_POST['username']);
$password = ($_POST['password']);

$lastname = mysql_real_escape_string($_POST['lastname']);
if(mysql_num_rows(mysql_query("SELECT * FROM users WHERE username='$username'")) == 0) {
mysql_query("INSERT INTO users (firstname, email, avatar, password, username, lastname)
  VALUES ('$firstname', '$email', 'http://book-wizard.net/images/default.png',   
 '$password',   '$username', '$lastname')");
$_SESSION['id'] = $username;
Header('Location: home.php');
}
else {
echo "Error, Please try again later.";
die();
}
}
?>

            <form method="post">
<img src="/images/regi.jpg" align="right" style="margin-top: -100px; margin-right:
10px; border-radius: 5px;">
                <p class="paragraphf">
                    <label>Username</label>
                    <input type="text" name="username" class="recommended" />
                </p>
                <p class="paragraphf">
                <label>Password</label> 

 <input type="password" name="password" class="recommended" />      

                <h2 class="paragraphf">Personal Information</h2>
                <p class="paragraphf">
                    <label>First name</label>
                    <input type="text" name="firstname" class="recommended" />
                </p>
                <p class="paragraphf">
                    <label>Last name</label>
                    <input type="text" name="lastname" class="recommended" />
                </p>

                <h2 class="paragraphf">Contact Information</h2>
                <p class="paragraphf">
                <label>Email Address</label>
        <input type="text" name="email" class="recommended" />






                <p class="input_bg">
    <input type="submit" value="SIGN UP" class="buttonr blue"><a href="index.php"  

 class="buttonr orange">CANCEL</a>
                    <br><br>
                </p>
            </form>

            <div class="clear"></div>

        </div> <!-- END container -->
    </div> <!-- END wrapper -->

    </body>
</html>

书籍向导-立即加入!
$(函数(){
$(“#百分比”).formProgress({
“速度”:800,
'风格':'绿色',
"泡沫":对,,
“选择器”:“建议使用”
});
});




图书向导信息
在这段代码之前,是否在页面顶部包含会话_start():

if(isset($_SESSION['id']))
{
 header("Location: home.php");
}

require_once'global.php'应该在顶部,因为有
会话\u start()


如果您的
会话是从
开始的,请在任何其他内容之前包括
global.php
移动
需要一次“global.php”到页面顶部。

require_once 'global.php';
if(isset($_SESSION['id'])) {
 header("Location: home.php");
}
在使用会话变量之前,需要调用
session\u start()

<?php
  require_once 'global.php';

  if(isset($_SESSION['id']))
  {
    header("Location: home.php");
  }
?>

您似乎希望将所有尚未进行会话(首次访问)的用户重定向到
home.php
,但这不是解决方法。在通过调用
SESSION\u start()
填充变量之前,您无法检查该变量,而在调用SESSION\u start()之后,变量中将始终具有会话id

您可以做的是,在脚本开始时建立一个会话,然后检查是否已经设置了某个变量

session_start();
if (!isset($_SESSION['already_been_here']))
{
  $_SESSION['already_been_here'] = true;
  header('Location: home.php', true, 303);
  exit;
}

别忘了在重定向后调用exit,否则脚本将继续执行。

如果更改这些行会怎么样:

{
 header("Location: home.php");
}
有了这些:

{
 header("Location: home.php");
 exit();
}

只需打印下面的打印($\u会话)是的,我刚刚完成了,但仍然遇到同样的问题;在你的页面顶部,看看你有什么;我已经把它移到了顶端,但遇到了同样的问题。会话将启动,但不会重定向。