2014-10-11 86 views
-1

我有一個很大的問題:不能更改頭信息PHP

我一直在做一個項目,並總是給我這個錯誤:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\output\index.php:60) in C:\xampp\htdocs\output\Login.php on line 40

我都試過了,但它不工作。 .. 我試圖刪除HTML,當我刪除所有的HTML,並保持只形成於index.php文件提交數據則已經工作...

在線60只<?php ... 論登錄40行。 php有header('Location: profile.php');

這是index.php文件:

<?php 
session_start(); 
error_reporting(E_ERROR | E_WARNING | E_PARSE); 
require './Login.php'; 
?> 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="bg-BG" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb#" itemscope itemtype="http://schema.org/Article"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    </head> 
    <body> 
     <div class="lightbox_bg" id="lightbox_bg" style="display: none;"></div> 
     <div class="box_bg1"> 
      <div class="lightbox_registration lightbox" style="display:none"> 
       <a href="#" class="lightbox_close"></a> 
       <h1>text </h1> 
       <p>text </p> 
      </div> 
      <div id="site"> 
       <a href="index.php" class="logo"></a> 
       <ul class="topMenu"> 
        <li><a class=" " href="materialy/materialy.html">text</a></li> 
        <li><a class=" " href="prirucka/index.php">text</a></li> 
        <li><a class=" showLightbox topRegistrace" rel=".lightbox_registration" href="#">Register</a></li> 
       </ul> 
       <div class="clearboth"></div> 
       <form action="" method="post" id="frm-loginEmailForm"> 
        <div class="clearboth"></div> 
        <div class="toplista"> 
         <div class="label"><label for="frmloginEmailForm-email">e-mail </label>:</div> 
         <input type="text" class="textwhite" name="email" id="frmloginEmailForm-email" required="required" data-nette-rules="{op:':filled',msg:&quot;\u041c\u043e\u043b\u044f, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 e-mail \u0430\u0434\u0440\u0435\u0441\u044a\u0442, \u043a\u043e\u0439\u0442\u043e \u0441\u0442\u0435 \u043f\u043e\u0441\u043e\u0447\u0438\u043b\u0438 \u043f\u0440\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044f\u0442\u0430. &quot;},{op:':email',msg:&quot;\u041c\u043e\u043b\u044f, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u0432\u0430\u043b\u0438\u0434\u0435\u043d \u0435-mail \u0430\u0434\u0440\u0435\u0441. &quot;}" value="" /> 
         <div class="label"><label for="frmloginEmailForm-password">Pass</label>:</div> 
         <input type="password" class="textwhite" name="password" id="frmloginEmailForm-password" required="required" data-nette-rules="{op:':filled',msg:&quot;\u041c\u043e\u043b\u044f, \u0432\u044a\u0432\u0435\u0434\u0435\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u0430. &quot;},{op:':minLength',msg:&quot;\u0412\u044a\u0432\u0435\u043b\u0438 \u0441\u0442\u0435 \u0442\u0432\u044a\u0440\u0434\u0435 \u043a\u0440\u0430\u0442\u043a\u0430 \u043f\u0430\u0440\u043e\u043b\u0430. &quot;,arg:2}" /> 
         <input type="hidden" name="login" value="1"> 
          <input type="submit" class="blackbutton" name="odeslat" id="frmloginEmailForm-odeslat" value="Login" /> 
        </div> 
       </form> 
       <div id="hlasky" class="hide">text </div> 
       <div id="obsah"> 
        <div class="lightbox lightbox_medialni" style="display:none"> 
         <a href="#" class="lightbox_close"></a> 
         <h1>text</h1> 
         <div> 
         </div> 
         <div class="clearleft"></div> 
        </div> 
        <div class="lightbox lightbox_dalsi" style="display:none"> 
         <a href="#" class="lightbox_close"></a> 
         <h1>text</h1> 
         <div> 
         </div> 
         <div class="clearleft"></div> 
        </div> 
        <div class="box_content"> 
        </div> 
       </div> 
      </div> 
     </div> 
     <?php 
     if (isset($_POST['login']) && $_POST['login'] == 1) { 
      Login::LoginUser($_POST['email'], $_POST['password']); 
     } 
     ?> 
    </body> 
</html> 
+0

請添加您的代碼 – 2014-10-11 11:48:03

+0

你希望我們去猜測什麼不對的代碼而不發佈? – Ghost 2014-10-11 11:48:37

+0

完成。這是代碼哪裏有錯誤 – Antonio 2014-10-11 11:52:29

回答

0

,你必須確保沒有輸出被髮送之前頭髮送。 在陳述這個answer

Functions that send/modify HTTP headers must be invoked before any output is made. Otherwise the call fails

+0

是的,我知道。但是,在index.php中只有html和一個php if。當所有的html被刪除,只留下帖子表格已經在工作並重定向... – Antonio 2014-10-11 11:59:07

+0

@Antonio然後你有你的答案。在設置標題之前不要輸出HTML。標題必須是第一件事。這不是說「第一個PHP」。這是第一個內容。 HTML /文本/ JavaScript /圖片/任何需要*後*設置標題。 – h2ooooooo 2014-10-11 11:59:41

+0

@Antonio您必須對您的代碼進行更改 – 2014-10-11 12:05:23

相關問題