2014-02-10 90 views
0

我碰到了下面的代碼的障礙。我不知道爲什麼第二個與標題/位置不斷給我一個空白頁。頁面沒有正確地使用標題重定向(「Location:***。php」);

index.phpuser.phplogin.php都在主文件夾中。

下輸出false

<?php 

    include('functions/check.php'); 


    if (test()) 
     { 
      echo "True"; 
     } 
    else 
     { 
      echo "false"; 
     } 

    ?> 

但是當我嘗試,我得到一個空白頁:

<?php 

    include('functions/check.php'); 


    if (test()) 
     { 
      header("Location: user.php"); 
     } 
    else 
     { 
      header("Location: login.php"); 
     } 

    ?> 

我嘗試了所有類型的不同的變化:

header("Location: /login.php"); 
+0

一個空白頁通常意味着錯誤報告被關閉。啓用它並用報告的錯誤更新你的問題。至於'警告:不能修改標題信息 - 標題已經發送'看到http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php – user555

回答

0

使用完整網址而不是相對網址。

http://us3.php.net/manual/en/function.header.php

+0

試 - didn' t工作 –

+0

@John_Nil在發送標題之前,請確保您沒有輸出任何數據。你沒有任何顯示在網頁上?查看源代碼並檢查。標題需要是發送的第一個東西。 – Sirago

+0

我允許顯示所有的錯誤,我得到這個:警告:不能修改標題信息 - 已經發送的標題(輸出開始於/hermes/bosoraweb101/b5/ipg.gfgdgfgcom/folder/functions/connect.php:29)in /hermes/bosoraweb101/b5/ipg.gfgdgfgcom/folder/index.php on line 14 –

0

你必須確保沒有任何文本以前所說的標題(「位置:XXX」)被打印;

檢查包含echo或print_r的代碼。

0

在發送新標題前,頁面上會有某種輸出。在使用該命令之前,確保沒有任何內容輸出到頁面。它甚至可能是一個奇怪的符號,例如記事本在文件的開頭添加了一個奇怪的符號,它不可見,但它在那裏,所以它以HTML格式打印到頁面上。

2

找到了一個非常有用的修正爲:

//在文檔開始

<?php ob_start(); ?> 

//在文件末尾

<?php ob_end_flush(); ?> 
相關問題