Catalog Online

コード

カタログオンラインV2.6[edit]

2023/03/21 コード

1、「input type="text"」と「textarea」に「maxlength」を設定できるように変更

2、日付型の「date_XXX」フィールドを入力必須に設定

3、「function.php」に「autohyperlink」関数追加(URLとメールアドレスを自動リンク)

4、file_10に画像以外を設定した場合、オリジナルのファイル名が表示されない不具合修正

●card.php
(修正前)$row['filename_'.right($field,1)]
(修正後)$row['filename_'.$matches[1]]

●function.php
(修正前)$img_ext = array("gif","jpg","png");
(修正後)$img_ext = array("gif","jpg","png","bmp");


https://www.nipc.or.jp/~sys/designhall/

タグ >>  php 

PHP URLとメールアドレスを自動でaタグで囲む[edit]

2023/02/11 コード

http,https,*@*に自動でa hrefをつけてくれる関数

function autohyperlink( $content ) {
//http,https,ついでにftpにマッチ
$pattern_http = '/((?:https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:@&=+$,%#]+)/';
$replace_http = '<a href="\1" target="_blank">\1</a>';
//メールアドレスにマッチ
$pattern_mail = '/([a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-\.]+\.[a-zA-Z]+)/';
$replace_mail = '<a href="mailto:\1">\1</a>';
//置換
$content = preg_replace( $pattern_http, $replace_http, $content );
$content = preg_replace( $pattern_mail, $replace_mail, $content );
return $content;
}

https://phantom37383.blog.fc2.com/blog-entry-1802.html

タグ >>  php  html 

カタログオンライン V2.2 バグ修正[edit]

2021/04/16 コード

cart.php 152行名を以下に修正すること
(bookmarkにNULLが入らないように、 order byでおかしくなる)

foreach ($fields_card as $field){
if ( !(preg_match('/^file_([0-9]+)/',$field))){
if (is_null($_POST[$field])){
$val ="";
} else {
$val = $_POST[$field];
}
$stmt->bindValue(':'.$field, $val, PDO::PARAM_STR);
}
}

タグ >>  カタログオンライン 

正規表現パターンサンプル[edit]

2021/03/09 コード

パターン 意味
/^[0-9]*$/  半角数値のみ(空文字OK)
/^[0-9]+$/  半角数値のみ(空文字NG)
/^[a-zA-Z]*$/  半角英字のみ(空文字OK)
/^[a-zA-Z]+$/  半角英字のみ(空文字NG)
/^[0-9a-zA-Z]*$/  半角英数字のみ(空文字OK)
/^[a-zA-Z0-9!-/:-@¥[-`{-~]*$/  半角英数記号のみ(空文字OK)
/^([a-zA-Z0-9]{8,})$/  8文字以上の半角英数字
/^([a-zA-Z0-9]{6,8})$/  6文字以上8文字以内の半角英数字
/^([0-9]{0,8})$/  8文字以下の半角数値
/^[0-9]{8}$/  8文字の半角数値
/^https?:\/\/  URL
/^\d{3}-\d{4}$/  郵便番号(999-9999形式)
/^\d{1,3}(\.\d{1,3}){3}$/  IP(999.999.999.999形式)
/^([1-9][0-9]*|0)(\.[0-9]+)?$/  正の小数
/^-?([1-9][0-9]*|0)(\.[0-9]+)?$/  正・負の小数
/^[ぁ-んー]*$/  全角ひらがな(空文字OK)
/^[ァ-ンヴー]*$/  全角カタカナ(空文字OK)
/^[ァ-ン゙゚\-]*$/  半角カタカナ(空文字OK)
/^[^\x20-\x7e]*$/  全角文字のみ(空文字OK)

https://javascript.programmer-reference.com/js-regexp-sample/

タグ >>  HTML  Javascript  PHP 

VBAでCSV出力する際のダブルクォーテーションのエスケープ[edit]

2018/12/21 コード

4. 改行コードは(CR+LF)を使用すること。
5. 改行コード(CR+LF)、ダブルクォーテーション、カンマを含むフィールドは ダブルクォーテーションで囲むのが望ましい。
6. フィールド内にダブルクォーテーションを含む場合、直前にダブルクォーテーションを付けてエスケープしなければならない。
7. ファイル内最終レコードの末尾には改行コードがあってもなくてもよい

ExcelでCSVを読ませるためには RFC4180 に準拠して、ダブルクォーテーションの前にダブルクオーテーションでエスケープする必要があると

http://tantanu.minibird.jp/forum/topic.php?id=45

タグ >>  Excel  cvs  php  vba 

常時SSL設定(SSLへイダイレクト設定)[edit]

2018/07/30 コード

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

タグ >>  .htaccess  SSL 

ラジオボタンを2度押しで選択解除する(複数グループ)[edit]

2018/06/21 コード

--------------------------------
HTML
--------------------------------
<input type="radio" name="radio1" id="radio1_1" value="1">
<input type="radio" name="radio1" id="radio1_2" value="2">
<input type="radio" name="radio1" id="radio1_3" value="3">

<input type="radio" name="radio2" id="radio2_1" value="1">
<input type="radio" name="radio2" id="radio2_2" value="2">
<input type="radio" name="radio2" id="radio2_3" value="3">

--------------------------------
JQuery
--------------------------------
// 予めチェックされているもの
var nowchecked = [];
$('input[type="radio"]:checked').each(function(){
nowchecked.push( $(this).attr('id') );
});

$('input[type="radio"]').click(function(){
var idx = $.inArray( $(this).attr('id'), nowchecked ); // nowcheckedにクリックされたボタンのidが含まれるか判定。なければ-1が返る。
if( idx >= 0 ) { // クリックしたボタンにチェックが入っていた場合
$(this).prop('checked', false); // チェックを外す
nowchecked.splice(idx,1); // nowcheckedからこのボタンのidを削除
} else { // チェックが入っていなかった場合
// 同じname属性のラジオボタンをnowcheckedから削除する
var name = $(this).attr('name');
$('input[name="' + name + '"]').each(function(){
var idx2 = $.inArray( $(this).attr('id'), nowchecked);
if( idx2 >= 0 ){
nowchecked.splice(idx2,1);
}
});
// チェックしたものをnowcheckedに追加
nowchecked.push( $(this).attr('id') );
}
});

https://norando.net/radio-cancel/

タグ >>  javascript  JQuery 

VBScriptを暗号化する方法 (Encode a Script)[edit]

2018/02/20 コード

VBScriptを個人で使用する場合は問題無いが、組織内の不特定多数で使用する場合にはコードを改変される可能性がある。改変されると最悪の場合、PCのシステムファイルを破壊したり、機密情報を外部へ送信したりと有害な動作をする可能性がある。コードの改変を簡単にできないようにする手段として、コードを暗号化するというのがある。

以前は Windows Script Encoder というツールがマイクロソフトから提供されていたが、現在はWindow OSに標準で暗号化機能が用意されている。scrrun.dllのEncoderオブジェクトを利用してVBScriptを暗号化するスクリプトを作成できる。

添付ファイルの拡張子を「txt」から「vbs」に変更して利用

https://gallery.technet.microsoft.com/scriptcenter/16439c02-3296-4ec8-9134-6eb6fb599880

タグ >>  VBA  script 

Chrome の「このページは動作していません」問題を回避する[edit]

2018/02/06 コード

Chromeのバージョン56から、<script> や <iframe> タグが送信されると、「このページは動作していません」という ERR_BLOCKED_BY_XSS_AUDITOR エラーが出る場合がある。
「X-XSS-Protection」ヘッダーを送り出すことで、XSS機能を無効にすることができる。

-----------------------
●.htaccess
<ifModule mod_headers.c>
Header always set X-XSS-Protection "0"
</ifModule>

●Perlの場合の例
print "X-XSS-Protection: 0\n";

●PHPの場合の例
header('X-XSS-Protection: 0');

https://kantaro-cgi.com/blog/browser/disabled_chrome_err_blocked_by_xss_auditor.html

タグ >>  htaccess  html  php 

PHP で、ユーザーエージェント(iPhone・Android・タブレット・携帯・PC)によってページを振り分ける[edit]

2017/09/20 コード

$ua = $_SERVER['HTTP_USER_AGENT'];

if ((strpos($ua, 'Android') !== false) && (strpos($ua, 'Mobile') !== false) || (strpos($ua, 'iPhone') !== false) || (strpos($ua, 'Windows Phone') !== false)) {
// スマートフォンからアクセスされた場合
header("Location: smartphone/index.html");
exit();

} elseif ((strpos($ua, 'Android') !== false) || (strpos($ua, 'iPad') !== false)) {
// タブレットからアクセスされた場合
header("Location: tablet/index.html");
exit();

} elseif ((strpos($ua, 'DoCoMo') !== false) || (strpos($ua, 'KDDI') !== false) || (strpos($ua, 'SoftBank') !== false) || (strpos($ua, 'Vodafone') !== false) || (strpos($ua, 'J-PHONE') !== false)) {
// 携帯からアクセスされた場合
header("Location: mobile/index.html");
exit();

} else {
// その他(PC)からアクセスされた場合
header("Location: pc/index.html");
exit();
}

http://monolio.com/memo/php/user-agent-page-change/

タグ >>  php  スマホ 

Catalog Online

↑ PAGE TOP