2023-06-03
PHPでのSQLインジェクション対策ならプリペアドステートメントが有名です。
(プリペアド・ステートメントは静的プレースホルダ、バインド機構と呼ぶ場合もあるようです)
PDO派ではなく、mysqli派の方へ向けたプリペアドステートメントの記述方法の紹介です。
コードを見ればなんとなく分かると思います。
prepare関数にて「?」を仕掛けた数だけ、bind_param関数の引数の数に関係します。
<削除 DELETE>
phpStart
$id = htmlspecialchars($_POST["id"]);
$stmt = $mysqli->prepare("D...
2022-01-22
▽1、ネットにウイルスなど存在しない。あるのは不正プログラム
▽2、フリーソフトをインストールしなければ安全
▽3、サイト上の広告バナーはなるべく押さないこと
▽4、実はウイルス対策ソフト自体が不正プログラム?
▽5、サポートが切れても買い換える必要は全くありません
▽6、システムの復元機能があるから安心してください
ウイルス対策ソフトはアンインストールしても全く変わりません。
windowsのディフェンダーもアンインストールして問題ありません。
この根拠をなるべく分かりやすく解説してみようという試みです。
ネットにウイルスなど存在しない。あるのは不正プログラ...
2022-01-16
pubDateは独特でやっかいな表記型で扱いにくい。
<rss2.0 pubDateの書式>
Sun, 16 Jan 2022 01:54:00 +0000
pubDateを通常の日時表記にする方法はネットに多く転がっているけど、逆はありませんでしたので、
特定の日付(日付指定)で通常の日時型(2022/01/16 00:00:00)をpubDateの書式に変換する関数を作成しました。
たかが日時表記の変換なので難易度が低いですが、pubDateは地味に面倒な書式です。
RSSを自力で作成する人はほとんどいないと思うので、マニアックな事象なのですが。
当ブログはブ...
2020-10-23
PHPのstrtotime関数は非常に便利で、カレンダーを使用した予約システムなどで活躍してくれます。
今回は、月毎に第一週目の水曜日、第二週目の水曜日は何日かを求める最短の方法をご紹介。
phpStart
$y = 2020; //任意
$m = 10; //任意
$jd = cal_to_jd(CAL_GREGORIAN, $m, 1, $y);
$month_name = jdmonthname($jd, 1);
$first_wed_day = date("j", strtotime("first Wednesday of {$month_name} {$y}")...
2019-10-11
▽MTSの結合はコマンドプロントでできます!しかも、音ズレなし!
▽MTSをmp4にビットレートを下げて変換(容量を軽くする)
▽一眼レフのMOVファイルはMTSと同様の方法で変換できるか?
MTSデータは無劣化なので、そのまま保持しておきたいデータではあるものの、ビットレートが非常に高くてデータ容量が大きく、動画編集の際に動作が重くなります。
それほど画質にこだわらないケースなので、ビットレートを5000kbpsくらいまで落として、ついでにmp4に変換しようと思います。
まずは3つのMTSファイルを一つのファイルにしたいと思います。動画の結合はソフトを使うより簡単な...
2019-09-18
▽ITリテラシー向上 基本用語「ブラウザ」
▽ITリテラシー向上 基本用語「拡張子」
▽ITリテラシー向上 基本用語「OS(オーエス)」
▽ITリテラシー向上 PC(旧称:マイコンピュータ)をデスクトップに表示する
▽ITリテラシー向上 基本用語「デスクトップ画面)」
▽ITリテラシー向上 基本用語「サーバー」
▽ITリテラシーを向上させるには用途を明確にしよう
この記事の内容はパソコンの上級者なら当たり前のように理解していることばかりです。
記事を読んで、よく分からなかったという方は、ハッキリ言ってITリテラシーが低いです。
さあ、あなたのITリテラシーはいかほ...
2019-09-10
2019年の10月から消費税が10%になります。ややこしいことに、一部8%です。これが軽減税率というルールです。対象品目については政府のサイトにて。
何が対象なの? | 特集-消費税の軽減税率制度
いずれ全て10%になりますが、一部の極小企業が急に変えることで潰れるかも!?とか、庶民が困らないように!?ということを考慮してという建前です。個人的にはたった2%増えることでは何も困りませんが、世の中にはシビアな現状の人がいるのですかね。
一応、低所得者や極小企業への配慮を目的としているそうですが、政府都合の策略でもあります^^; 定額給付金もそうですが、ほんのわずかな金で情報弱...
2019-08-20
データベースのデータをCSV出力する。
管理画面ではそこそこ需要のある機能。
今回はCSV出力のドシンプルなコードをコピペ用に残しておきます。
まずはじめに、CSVのことを難しく考えている方もいるかもしれないので、CSV形式についての説明をほんの数行でします。
CSVファイルはデフォルトでエクセルで開かれるので、エクセルデータだと思いがちですが、ただのテキストファイルです。例としまして、下記のようなカンマ区切りのテキストデータです。タブ区切りの場合もあります。
htmlStart
名前,英語,国語,数学
Aさん,95,50,82
Bさん,39,47,97
Cさん,...
2019-07-07
▽現役のメーラー「PHPMailer」ライブラリ
▽PHPMailerでSMTP送信ができたコードの紹介
▽PHPMailerでSMTP送信の手順1「ダウンロード」
▽PHPMailerでSMTP送信の手順2「ライブラリ読み込み」
▽PHPMailerでSMTP送信の手順3「SMTPの設定」
▽PHPMailerでSMTP送信の手順4「SMTP送信の実行」
▽PHPMailerでSMTP送信の動作確認済みコード
<現役のメーラー「PHPMailer」ライブラリ>
以前、迷惑メールになりにくいということでPEARのSMTP送信の記事を書きましたが、
PEARはPHP7になっ...
2019-07-03
▽コンセントがLANポートに?電気配線をLANに変換
▽マニアックな商品の為?パナソニックが家庭用PLC撤退
▽PLC性能対決!日本・中国・アメリカ 結果は!?やはりそうか…
▽最新のTP-Link PLCアダプターが届きました
▽旧PLCから新PLCに変えると速度が2倍アップ!
▽PLC設置に必要なものまとめ
▽PLCを自分で購入して設置するのが面倒な方はご依頼ください
コンセントがLANポートに?電気配線をLANに変換
10年以上ほど前に、田舎の実家に帰った時、ネット環境はあるものの、
やや大きめの一軒家なのでWiFiの電波が1階から2階まで繋がりませんでした。...
2018-11-27
ワードプレスを外し、独自のシステムに移行する際、画像のエクスポートが苦労しました。
個人的にワードプレスは好みません。クライアントに管理画面を提供する場合は、自分で一から作ったほうがユーザビリティーが圧倒的に良くなるからです。
アップロード画像の記録がある、postmetaテーブルの検索で「meta_key = _wp_attachment_metadata」とすると、データが下記のようになっていた。なんというごちゃごちゃしたデータ。これだからワードプレスは苦手だ。
htmlStart
a:5:{s:5:"width";i:731;s:6:"height";i:723;s:4:"f...
2014-11-03
DVDfabでDVD(及びブルーレイ)をMP4にする方法を紹介したいと思います。MP4にしてしまえば、youtubeにアップできるのでどこでも見れるようになるので便利。
今回の例は「海外ドラマで2話が入っている」ケースでの設定で字幕もMP4の映像に入れ込むようにしている。
まず、「リッピング」のメニューをクリックし、チェックボックスでMP4に変換したいところ選択。ドラマなので、同じオープニングが毎回しつこくなってしまうので、チャプターを2-7にしてますが、通常は変更する必要はありません。
次はエンコードの種類を選択。2014年の現在は「MP4」、「WMV」が主流で、今...
2012-11-19
引数とは…戻り値とは…と言葉で書いてもパッとしなさそうなので、半角のカタカナを全角のカタカナに変換するmb_convert_kana関数を例として見てみよう。
phpStart
$zenkaku = mb_convert_kana($hankaku, "KV");
//$hankaku が第一引数
//KV が第二引数
//$zenkaku が戻り値
phpEnd
これで用語の意味は分かるかと思います。自分で関数を作る(ユーザー定義関数)時はこの引数と戻り値のことを理解しておかないと便利なものは作れない。
個人的にフレームワークの使い方を覚えるのが面倒なので、自作関数の...
2012-08-23
文字列の一部分を取り出すsubstr関数は使用するシーンが多いです。長い文章の最初だけを表示する時や、URLから一部分を切り出す時などなど。
<substr()関数 - 最後の2文字を取り出す>
phpStart
$str = 'https://sample.jp/cate.php?id=06';
echo substr($str, -2);
//結果「06」が出力されます。
phpEnd
第2引数にマイナス値を入れれば最後からの文字が取得できます。先頭から2文字を取得する場合は正数を書けばOK。文字列が日本語の場合はmb_substr()を使用しないとバグが起きます。...
2012-08-16
プロフィールを登録させる際に年齢の項目を設ける場合は、年齢を入力させるのではなく、生年月日を入力してもらうのが基本です。年齢を入力させてしまうと、データ上その人はずーっと同じ年齢のままになってしまうからです。
生年月日から年齢を求めるの方法はいくつかあるみたいですが、一番短いのが以下の計算方式です。
<計算方式>
phpStart
$birth = 19811007;
$age = floor((date('Ymd') - $birth) / 10000);
phpEnd
計算方式は「(今日の日付 - 生年月日) ÷ 10000」で求められるみたいです。floor()...
2012-08-04
UTF-8の文字をshift_jisに変換するコードです。携帯サイトを作る場合はdocomoとauがshift_jisで作らないといけないので、文字コードを変更することがあります。EUC-JPはperl時代の時によく使用されていましが、今はUTF-8とshift_jisのどちらかしか使わないですね。
phpStart
//mb_convert_encoding(文字列,変換後,変換前);
mb_convert_encoding($str,'SJIS','UTF8');
phpEnd
あとPCサイトでもメーラーを立ち上げるmailtoのリンクで件名と内容も付属するときはshif...
2012-08-04
複合検索は半角スペース区切りのワードに変換して、explode関数で半角スペース区切りで配列に格納し、foreach文でWHEREのSQL文を生成します。foreach文でエラーを出さない為に、ループの前にis_array関数で配列であるかの確認しておきましょう。
htmlStart
$q = str_replace(' ',' ',trim($_GET['q'])); //*1 下記説明
$array = explode(' ',$q);
if(is_array($array)){
foreach($array as $val){
$str = ($sql)?' AND...
この記事がお役に立てましたら是非シェアのご協力お願いします。