プログラムデータ反映方法

*

プログラムデータ反映方法

PHP言語を作動させる環境を整える

本プログラムはPHPにより動作します。
基本的な構造としては、固定ページに「入力ページ」と「出力ページ」をそれぞれ登録し、入力ページに入力した情報を出力ページに飛ばし、出力ページに予め記載しているPHPプログラムがそれらの情報を自動計算し、結果を出力するシステムとなっております。

functions.phpに以下を追記

貴サイトの投稿・固定ページ内でPHPファイルをインクルード(挿入/実行)できるようにするため、現在使用しているテーマフォルダのfunctions.phpファイルに以下のコードを記載します。

<?php
 
//ここから
function include_my_php($params = array()) {
    extract(shortcode_atts(array(
        'file' => 'default'
    ), $params));
    ob_start();
    include(get_theme_root() . '/' . get_template() . "/$file.php");
    return ob_get_clean();
}

add_shortcode('include_php', 'include_my_php');
//ここまで
 
?>

入力ページの参考例(無窓階算定プログラム)

以下が無窓階算定プログラムのHTMLファイル(入力用)になります。(部分的に抜粋したものなのでこのコードでは不十分です。)

<form action="https://utsunomiya-kuroo.org/%e7%84%a1%e7%aa%93%e9%9a%8e%e3%80%80%e7%ae%97%e5%ae%9a%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%ef%bc%88%e7%b5%90%e6%9e%9c%ef%bc%89/" method="post" name="input_form">
<table style="height: 1px;" border="0" width="100%">
<tbody>
<tr>
<td style="height: 1px; background-color: #d4d4d4;">
1</td>
<td style="height: 1px; background-color: #d4d4d4;">
<select style="width: 100%;" name="kouzou1">
<option value="0">▼算定可能な開口部(格子やルーバーがあるものは不可)▼</option>
<option value="水圧解錠シャッター">水圧解錠シャッター</option>
<option value="水圧開放シャッター">水圧開放シャッター</option>
<option value="ガラス小窓付鉄扉(小窓条件(0.6m×0.15m以上、網入6.8mm以下))">ガラス小窓付鉄扉(小窓条件(0.6m×0.15m以上、網入6.8mm以下))</option>
<option value="普通板ガラス6mm以下">普通板ガラス6mm以下</option>
<option value="フロート板ガラス6mm以下">フロート板ガラス6mm以下</option>
<option value="磨き板ガラス6mm以下">磨き板ガラス6mm以下</option>
<option value="型板ガラス6mm以下">型板ガラス6mm以下</option>
<option value="熱線吸収ガラス6mm以下">熱線吸収ガラス6mm以下</option>
<option value="熱線反射ガラス6mm以下">熱線反射ガラス6mm以下</option>
<option value="Low-Eガラス6mm以下">Low-Eガラス6mm以下</option>
<option value="強化ガラス5mm以下">強化ガラス5mm以下</option>
<option value="耐熱板ガラス5mm以下">耐熱板ガラス5mm以下</option>
<option value="網入ガラス6.8mm以下">網入ガラス6.8mm以下【FIX不可】</option>
<option value="線入ガラス6.8mm以下">線入ガラス6.8mm以下【FIX不可】</option>
<option value="合わせガラス(FL6mm以下+PVB30mil以下+FL6mm以下)">合わせガラス【FIX不可】(FL6mm以下+PVB30mil以下+FL6mm以下)</option>
<option value="合わせガラス(網6.8mm以下+PVB30mil以下+FL5mm以下)">合わせガラス【FIX不可】(網6.8mm以下+PVB30mil以下+FL5mm以下)</option>
<option value="合わせガラス(FL5mm以下+PVB60mil以下+FL5mm以下)">合わせガラス【FIX・足場無不可】(FL5mm以下+PVB60mil以下+FL5mm以下)</option>
<option value="合わせガラス(網6.8mm以下+PVB60mil以下+FL6mm以下)">合わせガラス【FIX・足場無不可】(網6.8mm以下+PVB60mil以下+FL6mm以下)</option>
<option value="合わせガラス(FL3mm以下+PVB60mil以下+型板4mm以下)">合わせガラス【FIX・足場無不可】(FL3mm以下+PVB60mil以下+型板4mm以下)</option>
<option value="網入なしペアガラス">網入なしペアガラス(ガラスごとに上記の条件に合致する場合のみ可)</option>
<option value="網入ありペアガラス">網入ありペアガラス(ガラスごとに上記の条件に合致する場合のみ可)</option>
</select></td>
<td style="height: 1px; background-color: #d4d4d4;">
<input style="width: 90%;" name="maguti1" size="10" type="text" value="0.0" />
<input style="width: 90%;" name="takasa1" size="10" type="text" value="0.0" />
</td>
<td style="height: 1px; background-color: #d4d4d4;">
<input style="width: 70%;" type="text" name="maisuu1" onKeyup="this.value=this.value.replace(/[^0-9]+/,'')" value="1"/></td>
<td style="height: 1px; background-color: #d4d4d4;">
NG<input type="checkbox" name="yukadaka1" value="NG" /></td>
<td style="height: 1px; background-color: #d4d4d4;">
NG<input type="checkbox" name="sikiti1" value="NG" /></td>
</tr>

出力ページの参考例(無窓階算定プログラム)

以下が無窓階算定プログラムのPHPファイル(出力用)になります。(部分的に抜粋したものなのでこのコードでは起動しません。)

<?php 
$yuka30 = $_REQUEST["yuka"] / 30;
?>

<?php
if($_REQUEST["kouzou1"] == "水圧解錠シャッター" || $_REQUEST["kouzou1"] == "水圧開放シャッター" || $_REQUEST["kouzou1"] == "ガラス小窓付鉄扉(小窓条件(0.6m×0.15m以上、網入6.8mm以下))" || $_REQUEST["kouzou1"] == "普通板ガラス6mm以下" || $_REQUEST["kouzou1"] == "フロート板ガラス6mm以下" || $_REQUEST["kouzou1"] == "磨き板ガラス6mm以下" || $_REQUEST["kouzou1"] == "型板ガラス6mm以下" || $_REQUEST["kouzou1"] == "熱線吸収ガラス6mm以下" || $_REQUEST["kouzou1"] == "熱線反射ガラス6mm以下" || $_REQUEST["kouzou1"] == "Low-Eガラス6mm以下" || $_REQUEST["kouzou1"] == "強化ガラス5mm以下" || $_REQUEST["kouzou1"] == "耐熱板ガラス5mm以下" || $_REQUEST["kouzou1"] == "網入なしペアガラス" ){
	$kouzou1ritu = 0.9;
}elseif($_REQUEST["kouzou1"] == "網入ガラス6.8mm以下" || $_REQUEST["kouzou1"] == "線入ガラス6.8mm以下" || $_REQUEST["kouzou1"] == "合わせガラス(FL6mm以下+PVB30mil以下+FL6mm以下)" || $_REQUEST["kouzou1"] == "合わせガラス(網6.8mm以下+PVB30mil以下+FL5mm以下)" || $_REQUEST["kouzou1"] == "合わせガラス(FL5mm以下+PVB60mil以下+FL5mm以下)" || $_REQUEST["kouzou1"] == "合わせガラス(網6.8mm以下+PVB60mil以下+FL6mm以下)" || $_REQUEST["kouzou1"] == "合わせガラス(FL3mm以下+PVB60mil以下+型板4mm以下)" || $_REQUEST["kouzou1"] == "網入ありペアガラス"){
	$kouzou1ritu = 0.45;
}else{
	$kouzou1ritu = 0;
}
?>

<?php
if($_REQUEST["yukadaka1"] != "NG" && $_REQUEST["sikiti1"] != "NG"){
	$santei1 = $kouzou1ritu * $_REQUEST["maguti1"] * $_REQUEST["takasa1"] * $_REQUEST["maisuu1"] ;
}else{
	$santei1 = 0;
}
?>

<?php if(($_REQUEST["maguti1"] >= 1.00 && $_REQUEST["takasa1"] >= 1.00) || ($_REQUEST["maguti1"] >= 0.75 && $_REQUEST["takasa1"] >= 1.20) || ($_REQUEST["takasa1"] >= 0.75 && $_REQUEST["maguti1"] >= 1.20)){$oogata1 = 1;}else{$oogata1 = 0;}?>
<?php
if(($oogata >=2) && ($santei >= $yuka30)){
	$hantei = "普通階";
}elseif(($oogata >=0) && ($santei >= $yuka30)){
	$hantei = "無窓階です【大型開口部が2以上ありません。】";
}elseif(($oogata >=2) && ($santei <= $yuka30)){
	$hantei = "無窓階です【階の床面積の1/30以上の開口部がありません。】";
}else{	$hantei = "無窓階です【大型開口部が2以上なく、階の床面積の1/30以上の開口部がありません。】";}
?>

<table style="border-collapse: collapse; width: 100%;" border="1">
<tbody>
<tr>
<td style="width: 100%; background-color: #000080; text-align: center;">
<span style="color: #ffffff;"><strong><span style="font-size: large;"><?php print( htmlspecialchars($hantei ,ENT_QUOTES));?></span></strong></span></td>
</tr>
</tbody>
</table>
<br>

上記の出力ページ用のphpファイルをサーバーにアップロード

出力ページ用のPHPファイルを、functions.phpファイルと同じディレクトリ内(同じテーマファイル内)に、FTPソフト等によりアップロードします。

出力ページの本文中にショートコードを埋め込み

次に、投稿・固定ページの記事内に以下のようにショートコードを記述します。(ファイル名は、出力PHPファイル名に変更してください。以下は「minashi.php」というファイル名の場合、[]は小文字、以下ショートコードは大文字で記載してあります。)
ショートコードを書くとminashi.phpを読み込むようになります。
minashiの部分はご自身のファイル名に合わせてください。
これで固定ページでphpを実行できるようになります。

[include_php file='minashi']

消防予防DXツールが提供するデータ

1.入力ページ(HTMLファイル)②速攻!用途判定Ⅱ(みなし従属)
2.出力ページ(PHPファイル)②速攻!用途判定Ⅱ(みなし従属) 
3.入力ページ(HTMLファイル)③検索!消防設備Ⅰ(1項~15項)
4.出力ページ(PHPファイル)③検索!消防設備Ⅰ(1項~15項)
5.入力ページ(HTMLファイル)④検索!消防設備Ⅱ(16項イ)
6.出力ページ(PHPファイル)④検索!消防設備Ⅱ(16項イ)
7.入力ページ(HTMLファイル)⑤検索!消防設備Ⅲ(16項ロ)
8.出力ページ(PHPファイル)⑤検索!消防設備Ⅲ(16項ロ)
9.入力ページ(HTMLファイル)⑥算定!収容人員(1項~15項)
10.出力ページ(PHPファイル)⑥算定!収容人員(1項~15項)
11.入力ページ(HTMLファイル)⑧無窓階算定プログラム(10階以下)
12.出力ページ(PHPファイル)⑧無窓階算定プログラム(10階以下)