Categories
javascript(jQuery) PHP+MySQL その他

都道府県の配列

必要なときに探す時間を減らすため。。。

[1=>’北海道’,’青森県’,’岩手県’,’宮城県’,’秋田県’,’山形県’,’福島県’,’茨城県’,’栃木県’,’群馬県’,’埼玉県’,’千葉県’,’東京都’,’神奈川県’,’新潟県’,’富山県’,’石川県’,’福井県’,’山梨県’,’長野県’,’岐阜県’,’静岡県’,’愛知県’,’三重県’,’滋賀県’,’京都府’,’大阪府’,’兵庫県’,’奈良県’,’和歌山県’,’鳥取県’,’島根県’,’岡山県’,’広島県’,’山口県’,’徳島県’,’香川県’,’愛媛県’,’高知県’,’福岡県’,’佐賀県’,’長崎県’,’熊本県’,’大分県’,’宮崎県’,’鹿児島県’,’沖縄県’];

[‘北海道’=>’北海道’,’青森県’=>’青森県’,’岩手県’=>’岩手県’,’宮城県’=>’宮城県’,’秋田県’=>’秋田県’,’山形県’=>’山形県’,’福島県’=>’福島県’,’茨城県’=>’茨城県’,’栃木県’=>’栃木県’,’群馬県’=>’群馬県’,’埼玉県’=>’埼玉県’,’千葉県’=>’千葉県’,’東京都’=>’東京都’,’神奈川県’=>’神奈川県’,’新潟県’=>’新潟県’,’富山県’=>’富山県’,’石川県’=>’石川県’,’福井県’=>’福井県’,’山梨県’=>’山梨県’,’長野県’=>’長野県’,’岐阜県’=>’岐阜県’,’静岡県’=>’静岡県’,’愛知県’=>’愛知県’,’三重県’=>’三重県’,’滋賀県’=>’滋賀県’,’京都府’=>’京都府’,’大阪府’=>’大阪府’,’兵庫県’=>’兵庫県’,’奈良県’=>’奈良県’,’和歌山県’=>’和歌山県’,’鳥取県’=>’鳥取県’,’島根県’=>’島根県’,’岡山県’=>’岡山県’,’広島県’=>’広島県’,’山口県’=>’山口県’,’徳島県’=>’徳島県’,’香川県’=>’香川県’,’愛媛県’=>’愛媛県’,’高知県’=>’高知県’,’福岡県’=>’福岡県’,’佐賀県’=>’佐賀県’,’長崎県’=>’長崎県’,’熊本県’=>’熊本県’,’大分県’=>’大分県’,’宮崎県’=>’宮崎県’,’鹿児島県’=>’鹿児島県’,’沖縄県’=>’沖縄県’];

Categories
PHP+MySQL ホームページ制作・作成

Zoom と連携する予約システム構築

Zoom 連携の予約システム

当システムは、一般的な予約システムに Zoom を連携させ Zoom のミーティングを作成するとともにミーティングに必要な情報(URL, ミーティングID, パスワード)を予約登録と同時にメールで送るシステムです。

従来、お客様との打ち合わせを Zoom のミーティングで行う場合、以下のようなフローで行われているケースがほとんどと思われます。

  1. お客様から連絡を受ける
  2. 日時を調整する
  3. Zoom のミーティングを作成する
  4. Zoom ミーティングの情報(URL, ミーティングID, パスワード)をお客様に連絡する
  5. 当日ミーティングを行う

当システムは、上記の 1~4 の作業を1つにまとめたものになります。

「Zoom 爆弾(ボム)」と呼ばれている「荒らし」の対策である「待合室」のオプションはシステム導入時に「On」としています。これによりホストの承認がなければミーティングに参加することができません。

予約時にメールで送るミーティングID は個人ミーティングID(PMI)ではございません。ミーティング毎に発行されるミーティングID をメールに載せています。

申込フォーム

上図の日付をクリックすると申込フォームに遷移します。

時間の選択肢は、空いている時間のみ選択できます(空いていない場合は選択できないようにしています)。また、時間の選択肢は他の時間に変更することが可能です(システム導入時に設定します)。

入力項目の追加や削除はご相談ください。

申込み

上図のフォームを進めると申込完了画面になり、Zoom ミーティングの情報を入力されたメールアドレスと管理者宛に送信します。

Zoom のアプリでミーティングが設定されていることを確認してください。

キャンセル時

キャンセルの際は、管理画面にあるボタン1つで Zoom のミーティングを含めてキャンセル処理ができます。

こんな場面で

次のようなご利用ができると思います。

  • 弁護士・税理士・司法書士・行政書士など士業の相談予約
  • コンサル会社の予約
  • 神社の祈願の予約
  • 学校・塾の面談の予約
  • カルチャー教室の個人予約
  • 不動産会社の面談の予約
  • 人材派遣会社の面接の予約
  • etc…

上記以外でのご利用もご相談ください。

ご興味のある方は・・・

本システムにつきまして、ご興味のある方は、以下の URL からお問い合わせください。

https://www.of-mokuren.com/inquiry.php

Categories
PHP+MySQL ホームページ制作・作成

2段階認証

2段階認証とは?

ID、パスワード以外の認証を加えることでセキュリティを強化する仕組みのこと。

2019年7月に騒がれた「7pay」で話題になりましたので「2段階認証」の言葉をご存知の方は多いと思います。

念のためですが、ログイン画面で見かける「読みにくい文字を入力させる」ものとは違います。

以下のいずれかの方法で時間制限があるセキュリティコードを受信しそれを入力する方式です。

  • SMS
  • 電話
  • アプリ
  • Eメール
  • その他

個人情報を取り扱う管理画面へのログインに導入を推奨いたします。

導入するには?

SMS及び電話の場合、セキュリティコードを発信するため、SMS配信サービス会社や音声配信サービスとの契約が別途必要になります。

アプリの場合、自社アプリを開発するのもありですが、Google が提供している「Google Authenticator」があります。但し、利用者にアプリのインストールと初期設定を行なってもらう必要があります。さらに利用者が機種変更されたときの処理が大変になる場合もあります。

以上から、Eメールでの受信がもっとも導入しやすいものと思われます。

具体的には

  1. GitHub にある GoogleAuthenticator.php をダウンロード
  2. CodeIgniter の場合、ファイル名を Googleauthenticator.php を変更
  3. CodeIgniter のマニュアルに従って defined(‘BASEPATH’) OR exit(‘No direct script access allowed’); を追記
  4. 当ファイル内の class PHPGangsta_GoogleAuthenticator を class Googleauthenticator に変更
  5. 当ファイルを application/libraries にアップ

Controller で以下のように指定する。

$this->load->library('googleauthenticator');
$secret = $this->googleauthenticator->createSecret();
echo( $secret.'<br>' );
echo( $this->googleauthenticator->getQRCodeGoogleUrl('mokuren',$secret).'<br>' );
$oneCode = $this->googleauthenticator->getCode($secret);
echo( $oneCode.'<br>' );
$checkResult = $this->googleauthenticator->verifyCode( $secret, $oneCode, 2 );
if( $checkResult )
{
	echo( 'OK' );
}
else
{
	echo( 'NG' );
}

2段階認証をはじめセキュリティを強化したい場合は当オフィスまでお気軽にご連絡下さい。お見積もり・ご相談は無料です。

Categories
PHP+MySQL ホームページ制作・作成

CodeIgniter + phpQuery でスクレイピング

競合他社の情報をサイト上から抽出するいわゆるスクレイピングを行う業務があり、Google 先生で色々と調べたところ、phpQueryを用いるのが良さげであるとのこと。「Uploaded」が「May 2, 2009」と10年以上前であることに不安を持ちつつ PHP7.3 の環境で動くことを確認。

ただし、CodeIgniter 上で動かしたいため、Google 先生で見つけたCodeIgniterでphpQueryを使ってスクレイピングする方法を参考に実施してみた。

  • CodeIgniter v3.1.0
  • PHP7.3.16

上の環境で参考ページの通り、ダウンロードした phpQuery-onefile.php を phpquery_helper.php とファイル名を変更し、タイプミス1箇所を修正して、application/helpers のフォルダにアップ。

Controller で次のように記述することにより動くことを確認。

$this->load->helper('phpQuery');
$html = file_get_contents("https://www.of-mokuren.com/");
$page = phpQuery::newDocument($html);
foreach( $page as $dom )
{
	echo( pq( $dom )->find('h3') );
}

インターネット上にある競合他社の情報(商品データ等)を自動的に入手するシステムをご要望である場合は当オフィスまでお気軽にご連絡下さい。お見積もり・ご相談は無料です。

Categories
PHP+MySQL WordPress ホームページ制作・作成

WordPress で「この記事を書いた人」を作成

管理画面のプロフィールの情報を用いて「この記事を書いた人」を作成。

コーポレートサイトの場合、社長やスタッフのブログに利用できるのではないかと・・・。

まずは functions.php で次を入力し、管理画面のプロフィールページに項目を増やす。

function userSnMeta($sns)
{
	$sns['twitter']   = 'Twitter(twitter.com/以降)';
	$sns['facebook']  = 'Facebook(facebook.com/以降)';
	$sns['instagram'] = 'Instagram(instagram.com/以降)';
	return $sns;
}
add_filter('user_contactmethods', 'userSnMeta', 10, 1);

テンプレートで呼び出す場合は以下。

// プロフィール情報の入力有無で判定
if(!empty(get_the_author_meta('user_description')))
{
	the_author(); // ブログ上の表示名
	echo( get_avatar( get_the_author_meta( 'ID' ), 80 ) );	// アバター
	the_author_meta('user_url');	// webサイト
	the_author_meta('twitter');		// Twitter (functions.phpで追加した項目)
	the_author_meta('facebook');	// Facebook (functions.phpで追加した項目)
	the_author_meta('instagram');	// Instagram (functions.phpで追加した項目)
	the_author_meta('user_description');	// ユーザー情報
}