質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2608閲覧

htmlテンプレートエンジンというPHPのサービスを使いたいのですが機能しません。

kantowebmanager

総合スコア29

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/04/28 23:29

編集2018/04/29 03:08

これです。
https://sourceforge.net/projects/htmltemplate/

目的は例えばsample.htmlというhtmlの中に$val[“title”]と書けば外部のphpファイルで定義されているtitleの中身が表示されるようにしたいです。
正しく設定すれば以下のように動くようです。
http://playing-engineer.com/wordpress/2010/03/14/htmltemplate-for-php/

上記サイトからダウンロードし、その中のファイルはすべてphpファイルを置いているディレクトリに置きました。
次に以下のphp(sample.php)を書いてhttp://localhost/sample.phpでアクセスしたら「」というエラーが出ます。

(sample.php↓)

$a = array( 'test' => 1, 'test1' => 2, );

目的はhtmlに「$val[“title”] 」と書いたときにphpで定義されているtitleが表示されるようにしたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

gouf

2018/04/29 00:54

「“htmltemplate.inc”」がそれぞれ「左 / 右クオーテーションマーク」として表示されていますが、「"」でくくった場合に変化は見られますか
kantowebmanager

2018/04/29 01:52 編集

ありがとうございます。上記の修正であっているでしょうか。htmltemplate.incの部分を""で囲むようにして、HtmlTemplate::t_includeの部分も""で囲いましたが、「Parse error: syntax error, unexpected 'HtmlTemplate' (T_STRING) in /Library/WebServer/Documents/sample.php on line 10」というエラーが出てしまいます。。
guest

回答2

0

ベストアンサー

PHP

1HtmlTemplate::t_include(sample.html, $a); // テンプレート表示 2

PHP

1HtmlTemplate::t_include("sample.html", $a); // テンプレート表示 2

投稿2018/04/28 23:41

tekka

総合スコア514

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kantowebmanager

2018/04/29 01:51

ありがとうございます。 ""で囲んでいませんでした。 上記の通り修正したのですが「Parse error: syntax error, unexpected 'HtmlTemplate' (T_STRING) in /Library/WebServer/Documents/sample.php on line 10」というエラーが出てしまいます。。
tekka

2018/04/29 01:57

サイトを拝見しましたが、HtmlTemplateではなくhtmltemplateのようです。PHPは大文字小文字を区別しますので気を付けて下さい。
kantowebmanager

2018/04/29 02:18

ご指摘ありがとうございます。気づきませんでした。 上記のように修正したのですが同じエラーが出てしまいます。
tekka

2018/04/29 02:23

うーん、エラーの内容は、htmltemplateが定義されていない的なものですが、そうなるとrequire_once("htmltemplate.inc"); でちゃんと読み込めてるかという話になりますね。
kantowebmanager

2018/04/29 02:29

確かにちゃんとhtmltemplate.incが読み込まれてるのか不安です。 htmltemplate.incはsample.phpと全く同じ場所(/Library/WebServer/Documents/)に置いてます。
tekka

2018/04/29 02:39

こういうときは、htmltemplate.incに echo "aaa"; など何か適当に書いて出力されるか確認するのが良いです。
退会済みユーザー

退会済みユーザー

2018/04/29 02:54

というか array がおわってないだろうw
tekka

2018/04/29 03:04

あ、ほんまやで。これ。
退会済みユーザー

退会済みユーザー

2018/04/29 03:10

にしてもリリースが15年前か・・・ 軽量なのはいいけど XXXX インジェクション系をやりたい放題できそうだ
kantowebmanager

2018/04/29 03:10

セミコロンつけたらできました! ありがとうございます! マニュアルを確認して「$a = [ 'test' => 1, 'test1' => 2, ];」としてもできました。 要はセミコロンつける必要があったんですね。 大変助かりました。 このたびはお騒がせしました。 ありがとうございました。
guest

0

普通に回答されてるけど普通の人は2010年の記事を元に2018年に何かやることをおかしいと思わないの…?
しかもファイル自体も2003年2004年。
記事が書かれた頃でもすでに古すぎる。
長く更新されてないものを使ってはいけないなんて常識中の常識では…。

動かない理由もhtmltemplateがあまりにも古すぎるから。
htmltemplate.incで読み込んでるのでもしかしてPHP4用をダウンロードしてるのでは…。
PHP5用だとしても中身少し見るだけで今のPHPでは削除された機能を使ってるので2018年では動かせない。

投稿2018/04/29 03:16

kawax

総合スコア10377

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/04/29 03:37

ちなみにテンプレートエンジンのRELEASEは2003年(笑
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問