PGサンプル 10日でおぼえるシリーズ

Lesson31 実習3

index.tpl

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>{$company}のホームページ</title>
<style>
/* ヘッダクラス、フッタクラス */.head,

.foot {
border: solid 1px #ff00cc;
}
</style>
</head>

<body>
<!-- ヘッダ部のブロック --><div class="head">

{$get_template($data,'header.tpl')}
</div>

<!-- フラグで連絡リスト表示するかしないかを判断 -->
{$if("{$disp_flag}" == 'yes',"
<h2>連絡先リスト</h2>
<ol>

{$foreach($contact,'<li>名前: {$uid} 電子メール:{$email} 登録日:{$reg_date}</li>')}
</ol>
","非公開です。")}

<br>
<!-- フッタ部のブロック -->
<div class="foot">

{$get_template($data,'footer.tpl')}
</div>
</body>
</html>

Lesson31 実習2

index.php

<?php

require_once 'MDB2.php'; //DB接続の基本ライブラリー
require_once 'function.php'; //プログラムとデザインを融合させるライブラリー

//データベース接続
$con=& MDB2::connect('mysql://root:12345@localhost/sample01_db');
if(PEAR::isError($con)) {
die($con->getMessage() );

}

//取り出しモードの設定。配列をフィールド名で取り出します
$con->setFetchMode(MDB2_FETCHMODE_ASSOC);
//SQL文の発行。全てのレコードを取り出します
$sql_res=$con->queryAll('select * from testdb01');

//ホームページタイトル
$str['company'] = "テストカンパニー㈱";

//データベース情報の取得
foreach ($sql_res as $line){
$str['contact'][] = $line;
}
//データベースの内容の表示ON/OFF
$str['disp_flag'] = 'yes';

//データベース接続のエラー処理
if (PEAR::isError($sql_res)) {

die($sql_res->getMessage() );
}
//データベース接続終了
$con->disconnect();

//テンプレート読み込んで変数を差し込み、表示する。
echo get_template($str,'index.tpl');

?>

Lesson30 実習3

test.php

<?php
//変数$contentにtest.tplの文字をロードする
$content = file_get_contents("test.tpl");
//変数$contentのなかに含まれる{content:}の記述を「Hello in the world.」で置換
$content = str_replace("{content:}", "Hello in the world.", $content);
//置換した内容を出力

print $content;

?>


test.tpl


<!DOCTYPE HTML>
<head>
<meta charset=UTF-8" />

<title>Hello Test</title>
</head>
<body>
<!-- 置換される記述子。コンテンツボディ(本文)に置き換えられる箇所 -->
<h1>{content:}</h1>

</body>
</html>

Lesson30 実習1

index.php

<!DOCTYPE HTML>
<html>
<head>
<!-- 文字コードをUTF-8で宣言 HTML5仕様 -->
<meta charset="UTF-8" />
<!-- ブラウザのヘッダに表示される文字 -->

<title>テストプログラム</title>
</head>
<body>
<!-- 文字エコー出力です。ダブルクオートで囲んだものを標準出力します。 -->
<?php echo "<h1>this is static file.</h1>"; ?>

</body>
</html>

Lesson30 実習2

index.php


<!DOCTYPE HTML>

<html>
<head>
<meta charset="UTF-8">
<title>テストプログラム2</title>

<style>

#main {
width: 850px;

}

.header ,
.left,
.center,
.right,
.footer {
border: solid 1px #0000ff;
margin:0px 2px;

height: 200px;
}

</style>

</head>
<body>
<div id="main">

<div class="header" style="height:100px;width:843px;margin-bottom:20px;">

<h1>ここはヘッダテンプレートです。</h1>
</div>

<div class="left" style="float:left; width:200px;">
<p>左サイドエリアテンプレート</p>
</div>

<div class="center" style="float:left; width:430px;">
<?php
// ブログ内容を出力する
include('template/test01.html');
?>
</div>

<div class="right" style="float:left; width:200px;">

<p>右サイドエリアテンプレート</p>
</div>
<div style="float:clear;"></div>

<div class="footer" style="float:left;height:100px;width:843px;margin-top:20px;">
<h1>ここはフッタテンプレートです。</h1>

</div>

</div>
</body>
</html>


template/test01.html


<p>ここはテストの取り込みコンテンツです。</p>

<p>うまく表示できたでしょうか?</p>