電子契約導入時に、契約文言、書式の変更例

① 契約書前文の文言変更例
書面契約書「甲と乙は、本契約成立の証として、本書2通を作成し、両者記名押印のうえ、各自1通を保有するものとする。」

電子契約書「甲と乙は、本契約の成立を証として、本電子契約書ファイルを作成し、それぞれ電子署名を行う。なお、本契約においては、電子データである本電子契約書ファイルを原本とし、同ファイルを印刷した文書はその写しとする。(※)」

(※)なお書は、税務調査を印刷した書面で受ける場合、原本が電子データであることを明示するために記載


② 契約書前文の文言変更例
書面契約書「第○条(再委託) 乙は、甲による事前の書面による承諾がないかぎり、本件業務の全部または一部を第三者に再委託できない。」

「乙は、甲による事前の書面または双方が合意した方法による電磁的措置による承諾がないかぎり、本件業務の全部または一部を第三者に再委託できない。」

無料のブロックチェーン技術を活用した電子契約サービス e-sign

esign.ee

契約する関係者のスマフォに認証用のアプリ(xID)入れて署名する仕組み。

料金は無料。
認証用のアプリ(xID)を広めて稼ぐ仕組みとのこと
 https://help.xid.inc/a6f8035a735a4f7aa95af0aef8d770c4

アプリ(xID)入れるとマイナンバーカード登録する案内でますが、登録しないで使えます。

WebView2で「Microsoft Edge で、データ ディレクトリに対する読み取りと書き込みができません」と出る

Edgeのユーザーデータフォルダーにアクセスできないとき出る。

標準だとユーザーデータフォルダーは<ブログラム名>.exe.WebView2/EBWebView/
になる。

CoreWebView2Environment()の第2引数でフォルダ指定できるので、別のところにしてみよう

しかしExcelからDLL経由で呼び出すとこの指定が無視される。
環境変数WEBVIEW2_USER_DATA_FOLDERを指定してもダメ。
まいったな。

MFCでやるなら

CreateCoreWebView2Environment()は厳禁。
CreateCoreWebView2EnvironmentWithOptionsでデータ ディレクトリ指定しないとNG

    // データ ディレクトリはドキュメントに固定する 
    CStringA strA;
    CStringW strW;
    char lpszPath[MAX_PATH] = "";
    LPITEMIDLIST pidl;
    if (::SHGetSpecialFolderLocation(NULL, CSIDL_PERSONAL, &pidl) == NOERROR)
    {
        ::SHGetPathFromIDList(pidl, lpszPath);
        ::CoTaskMemFree(pidl);
    }
    strA = lpszPath;
    strW = strA;

    HRESULT hr = CreateCoreWebView2EnvironmentWithOptions(nullptr, strW.GetBuffer(0), nullptr,
        Callback<ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler>(
            this,
            &CWebBrowserEdge::OnCreateEnvironmentCompleted).Get()

PHPバージョンアップで文字化けした時の対処方法

デフォルトcharset(default_charset)がUTF-8に変わったのが原因の可能性大。


iframeで読み込んでる先が文字コード違うと対策がキツイ。
ページ数が少ないなら文字コードをコツコツ変換するほうが早いかもね。

PHP7.x以降なら
.user.ini作って

  default_charset=none

を保存しとくと治ることもある。

PHPを7.2にバージョンアップしたら正規表現でマッチしない現象が出た

正規表現のマッチパターンの文字が大きいとエラーになるようになってる。

pcre.jit=0をphp.iniに設定すれば解消される

メールアドレスのチェックで使っている場合、昔の携帯アドレスとか無視して良い環境なら
filter_var()で代用したほうがよいですよ。

<?php

// バリデーションに使うメールアドレス
$email = 'hogehoge@email.com';

if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "正しい形式のメールアドレスです。";
} else {
echo "不正な形式のメールアドレスです。";
}

PHP file_get_contentsで、リモートホストから取得出来ない場合の代替関数サンプル POSTもあるよ

ネタ元

file_get_contents()が
使えないサーバーがあるんですよー

function curl_get_contents($url){
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	$response = curl_exec($ch);
	curl_close($ch);
	return $response;
}

POST送る場合はこちらを参考に。

$POST_DATA = array(
    'foo' => 'bar'
);
$curl=curl_init("URL");
curl_setopt($curl,CURLOPT_POST, TRUE);
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($POST_DATA));
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, FALSE);  // オレオレ証明書対策
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, FALSE);  // 
curl_setopt($curl,CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl,CURLOPT_COOKIEJAR,      'cookie');
curl_setopt($curl,CURLOPT_COOKIEFILE,     'tmp');
curl_setopt($curl,CURLOPT_FOLLOWLOCATION, TRUE); // Locationヘッダを追跡

$output= curl_exec($curl);

ネタ元

qiita.com