如何在服务器中重定向页面使用标头

时间:2014-01-03 04:51:50

标签: php

<?php
     }
      else
      {
         $uname=$_POST['uname'];
            $password=$_POST['pass'];
          require('connect.php');
        global $pdo;
             $stmt=$pdo->prepare("select name,pass from admin where name=?");
             $stmt->bindparam(1,$uname);
              $stmt->execute();
               $row=$stmt->fetch(PDO::FETCH_ASSOC);           
              if($row['name']==$uname and $row['pass']==$password)
        {
        $_SESSION['user']=$uname;
        $host  = $_SERVER['HTTP_HOST'];
                     $uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/');
                       $extra = 'principal.php';
                    header("Location: http://$host$uri/$extra");

        }
        else
        { 
        echo"your password and username incorrect";
         header('Location:http://localhost/adminp.php');
        }
          unset ($pdo);
          }
             ob_end_flush();
                  ?>

重定向页面标题无法正常工作 在我的本地主机代码(标题('位置:mypage.php')工作正常,但在服务器中无法正常工作

2 个答案:

答案 0 :(得分:0)

你必须使用ob_start();在代码顶部和ob_flush();在代码的底部。 然后使用标题代码如下 -

header('Location:adminp.php');

答案 1 :(得分:0)

删除echo标记上方的header语句, 并且请在您的问题中提及错误..如果您收到类似header already sent的错误,那么您删除了echo语句,否则您尝试使用java脚本方法

 else
        { 
        echo"your password and username incorrect";
        ?>
        <script>
          window.location='admin.php';
       </script>
   <?php
        }