亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

標頭已發送,php mvc

標頭已發送,php mvc

PHP
明月笑刀無情 2022-12-23 15:37:27
這不起作用有兩個原因是因為當您使用“/”包含其他 PHP 文件時將引用 index.php 的“/”因此在所有包含中您必須將“/”更改為 __DIR__以及 index.php 中的這個使用include ('/app/app.php');將無法找到正確的當前目錄,因此對于您的特定情況,將代碼更改為:索引.php:<?php include ('.\app\app.php');?>應用程序.php:<?phpinclude(__DIR__.'\template\template.php');?>模板\模板.php :<?php// Load our Headinclude (__DIR__.'\parts\head.php');// Load our Headerinclude (__DIR__.'\parts\header.php');// Load our Bodyinclude (__DIR__.'\parts\body.php');// Load our Footerinclude (__DIR__.'\parts\footer.php');?>
查看完整描述

2 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

雖然您的示例不是 100% 清楚,但當初學者在調用之前嘗試輸出頁面的一部分時,這個錯誤最常發生在初學者身上header()。

一旦您echo輸出了任何內容,就會發送標頭,因此您需要確保任何調用都header()發生在任何頁面生成代碼之前,無論是對標記外的 HTML 調用echo還是簡單的 HTML調用<?php ?>

這里的一個常見問題是無意中包含了一些空格,通常是<?php在文件頂部的之前,或者在結束之后?>

當您使用 MVC 方法時,好的做法是只有您的模板/視圖文件應該包含 HTML,并且任何 PHP 腳本的第一個字符應該是<?php,并且您不應該?>在文件末尾關閉以確保任何尾隨空格不會包含在您的頁面視圖中。


查看完整回答
反對 回復 2022-12-23
?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

好的,我發現了問題。


我的路由器是為文章頁面編寫的:


else if (strpos($frontend->url, 'article.php'))

        {

                $frontend->article(); 

            // Si l'utilisateur poste un commentaire sur un article

            if (isset($_GET['action']) && $_GET['action'] == 'addComment')

                $frontend->addComment($_GET['id'], $_POST['author'], $_POST['comment']);

        }

它加載了我的文章頁面,然后,如果提交了評論,它會在重定向處調用我的控制器函數 AddComment。我在加載文章頁面之前放置了 If 語句,它工作正常!


感謝您的寶貴時間,也感謝讓我按鈴的 deceze。希望它可以幫助別人,我沒有找到很多 MVC 結構的例子。


查看完整回答
反對 回復 2022-12-23
  • 2 回答
  • 0 關注
  • 120 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號