2012-05-06 14 views
6

私はPHPが新しく、愚かな間違いがあると思われます。私は同様の問題を抱えている人を見回しましたが、何も見つかりませんでした。PHPからのHTML出力がブラウザに表示されないようにするにはどうすればよいですか?

だから私は(Smarty経由)テンプレートからの出力一部のHTMLになっていますPHPファイルを持っています。 ChromeでレンダリングされたHTMLを見る代わりに、HTMLテキスト自体が表示されます。ここで私が使用しているPHPのコードは次のとおりです。

<?php 

header("Content-type: text/html; charset=utf-8"); 

ob_start(); 
include_once '../api/get_article.php'; 
$a_json = ob_get_clean(); 
$data = json_decode($a_json, true); 

require('./libs/Smarty.class.php'); 

$smarty = new Smarty(); 
$smarty->template_dir = './templates/'; 
$smarty->compile_dir = './templates_c'; 

$smarty->assign("title_text",$data['title']); 

$smarty->display('content.tpl'); 

?> 

私はそれがエンコーディングに問題があったと思ったが、私はすべてはUTF-8を使用していることを確認しました(つまり、MYSQL、HTTPヘッダである、とテンプレートファイル)。それ以外に何ができますか?

+0

はあなたが戻ってスクリプトから取得しているヘッダをダンプすることができ、以前に行われた変更が上書きされますことを確認するdisplay機能上の右に

header("Content-type: text/html; charset=utf-8"); 

すべての方法ダウンラインを移動してみてください?たぶん、Smartyのも – Garuda

+0

に矛盾していることあなただけの実際のHTMLタグを参照するか、それはすなわち、表示されたPHPコードであるかどこかのヘッダーを設定しています。 HTMLはPHPタグで囲まれています。ばかげた質問ですが、* .phpという名前のファイルであり、サーバー上で実行されているPHPですか? – adeneo

+0

@ガルダどうすればいいですか? – Hassan

答えて

2

Smartyのかget_article.phpスクリプトは、いくつかの点であなたのためのコンテンツタイプヘッダを設定する必要があります。それは

+2

+1良い答えがあります! – adeneo

関連する問題