月別アーカイブ: 3月 2013

Lesson33 実習3


confirm.php

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>メール送信フォームの確認</title>
</head>

<body>
<!-- index.phpから受け取ったデータを変数へ格納 -->
<?php
$button = $_POST['exec_submit'];
if ($button != ""){
$sender_name = $_POST['user_name']; //送信者の名前
$mail_address = $_POST['user_email']; //送信者メールアドレス

$mail_subject = $_POST['user_subject']; //件名
$mail_body = $_POST['user_body']; //メール本文
}
?>
<!-- 確認内容が正しければの表示とpost.phpへ送信情報を渡して管理者へ送信 -->
<form method="post" action="post.php">

<div id="confirm">
<strong>この内容でよろしいですか?</strong><br />
お名前: <?php echo $sender_name; ?><br/>
メール: <?php echo $mail_address; ?><br/>

件名: <?php echo $mail_subject; ?><br/>
本文: <?php echo $mail_body; ?><br/>
</div>

<?php
// hidden属性で送信者情報を画面に表示せず、且つソースに表示しないようにPHPで記述。

echo "<input type=\"hidden\" name=\"Sendar\" value=\"$sender_name\">";
echo "<input type=\"hidden\" name=\"Address\" value=\"$mail_address\">";

echo "<input type=\"hidden\" name=\"Subject\" value=\"$mail_subject\">";
echo "<input type=\"hidden\" name=\"MailBody\" value=\"$mail_body\">";

?>

<!-- 送信ボタンでpost.phpへデータを送信 -->
<input type="submit" name="SendMail" value="送信"/>
</form>

</body>
</html>

Lesson33 実習2


<!DOCTYPE HTML>

<html>
<head>
<meta charset="UTF-8">
<title>メール送信フォームのテスト</title>
</head>

<body>

<!-- フォーム送信設定POST版 入力内容を確認ファイルconfirm.phpへ送信 -->

<form method="post" action="confirm.php">
<!-- 以下のインプットタグで定義された項目をconfirm.phpへ送信 -->
<!-- メール送信情報。 nameに設定された変数でconfirm.phpへ渡される. -->
<!-- 入力値はvalueにセットされる -->
お名前: <input type="text" name="user_name" size=40 /><br/>

メール: <input type="text" name="user_email" size=40 /><br/>
件名: <input type="text" name="user_subject" size=60 /><br/>

本文: <textarea cols=60 rows=10 name="user_body"></textarea><br/>
<!-- 送信ボタンでconfirm.phpへ送信 -->
<input type="submit" name="exec_submit" value="確認"/>

<!-- キャンセルボタンで入力値がクリア -->
<input type="reset" name="exec_submit" value="クリア"/>
</form>

</body>

</html>

Lesson32 実習3


session.html

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>セッションのテスト</title>
</head>

<body>
<h3>セッションにデータをいれました</h3>

<!-- フォーム送信 -->
<form name="my_form" method="POST" action="./confirm.php">

<!-- 住所入力テスト。 nameに設定された変数でconfirm.phpへ渡される. -->
<!-- 入力値はvalueにセットされる -->
都道府県:<input type="text" name="pref" value=""><br />
市・区:<input type="text" name="city" value=""><br />

町名:<input type="text" name="street" value=""><br />
<!-- 送信ボタンでconfirm.phpへ送信 -->
<input type="submit" value="送信" />

</form>

</body>
</html>


confirm.php


<?php

session_start();

echo "<pre>";

print_r($_POST);
echo "</pre>";

print "住所:";
print $_POST['pref'];
print $_POST['city'];
print $_POST['street'];

echo "<h2>このデータは下記リンク先のページでセッション変数で参照されます</h2>";

$_SESSION['pref'] = $_POST['pref'];
$_SESSION['city'] = $_POST['city'];
$_SESSION['street'] = $_POST['street'];

?>
<a href="refer.php">参照ページ</a>

refer.php

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8" />
<title>セッションの読み出し</title>
</head>

<body>
<h3>受け取ったセッションを書き出します</h3>
<?php
session_start();
print "住所:";
print $_SESSION['pref'];

print $_SESSION['city'];
print $_SESSION['street'];
?>
</body>
</html>

Lesson32 実習2

post_test.html

<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>POSTでデータ受け渡し</title>
</head>
<body>

<h3>POSTで送信テスト</h3>

<!-- フォーム送信設定POST版 -->
<form name="my_form" method="POST" action="./post_recv.php">
<!-- 住所入力テスト。 nameに設定された変数でpost_rev.phpへ渡される. -->

<!-- 入力値はvalueにセットされる -->
都道府県:<input type="text" name="pref" value=""><br />
市・区:<input type="text" name="city" value=""><br />

町名:<input type="text" name="street" value=""><br />
<!-- 送信ボタンでpost_recv.phpへ送信 -->
<input type="submit" value="送信" />

</form>

</body>
</html>


post_recv.php


<?php

echo "<pre>";

print_r($_POST);
echo "</pre>";

print "住所:";
print $_POST['pref'];
print $_POST['city'];
print $_POST['street'];

?>

Lesson32 実習1


get_test.html

<html>
<head>
<title>GETでデータ受け渡し</title>
</head>
<body>
<h3>GETで送信テスト</h3>

<!-- フォーム送信設定GET版 -->

<form name="my_form" method="GET" action="./get_recv.php">
<!-- 住所入力テスト。 nameに設定された変数でget_rev.phpへ渡される. -->
<!-- 入力値はvalueにセットされる -->
都道府県:<input type="text" name="pref" value=""><br />

市・区:<input type="text" name="city" value=""><br />
町名:<input type="text" name="street" value=""><br />

<!-- 送信ボタンでget_recv.phpへ送信 -->
<input type="submit" value="送信" />

</form>

</body>
</html>

get_recv.php


<?php

echo "<pre>";
print_r($_GET);
echo "</pre>";

print "住所:";

print $_GET['pref'];
print $_GET['city'];
print $_GET['street'];

?>

Lesson31 実習4

function.php

<?php
//デザインテンプレートの繰り返し処理記述{foreach}を処理するPG
function _get_foreach($data,$tpl)
{$if='_get_if'; //記述子{if}判定の置換
foreach ($data as $v)
{extract($v);
//$tplに含まれる{foreach}記述子がPHP記述で置換

eval("@\$html.=<<<DOC\r\n{$tpl}\r\nDOC;\r\n");
}
return $html;
}

//デザインテンプレートの簡単なif文(yes/no)レベルの分岐処理{if}の置換

function _get_if($case,$yes,$no)
{return $case?$yes:$no;
}

//テンプレート読み出しプログラム
function get_template($data,$tpl)
//テンプレートの記述を置換するエントリー以下3行までが記述子。
{$get_template='get_template';

$foreach='_get_foreach';
$if='_get_if';
//$dataに含まれる配列データをシンボル変数に置き換える。テンプレートの該当記述子も置換
extract($data);
//テンプレートを$tpl変数へロード
$tpl=file_get_contents($tpl);

//テンプレートのファイルは記述子がPHP記述で置き換えられたのでそれを実行しHTML出力する
eval("\$html=<<<DOC\r\n{$tpl}\r\nDOC;\r\n");
return $html;
}
?>

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>