ど素人から毛を生やす。<延>

Web

maxlength属性みたいにinputでバイト数制限する

どもです。

inputやtextareaでmaxlength属性を設定すれば、最大字数を設定できます。
これを超える入力やペーストは超過分だけカットされるので、非常に使い勝手が良いです。

しかし、バックヤード系だと結構要求されるのが、「字数」でなく「バイト数」の入力制限です。

一度は全部自力で作ってみたのですが、どうにも動作がもっさりしてしまったので、先人の知恵に頼ることにしました。... 全文を読む »

selectタグ、中身が半角と全角の場合で位置がズレる問題。

どもです。
些細なことですが、ハマったので備忘。

... 全文を読む »

select要素を「できれば」右揃えしたかったメモ。

どもです。

中身が数字のプルダウン。できれば右揃えにしたいところです。
しかし、select要素はtext-alignが効きません。

HTMLやCSSを駆使して無理やり作る方法はggると色々紹介されていますが、本件はそこまで頑張りたくない。
できれば、くらいの心持ち案件なのです。... 全文を読む »

FTPに同名ファイルが無ければ新規作成、あれば追記

どもです。
PHPでFTPに接続し、出力ファイルと同名ファイルが無ければ新規作成、あれば追記がやりたかった。


//ログイン
$ftp_stream = 
... 全文を読む »

「PORT IP is not same as」されたらパッシブモードにしてみる。

どもです。

某所のFTPにCSVをアップするプログラムを移植していたところ、実は対象がFTPSだったことが判明。
急いで直します。

$conn_id =
... 全文を読む »

[MySQL]複数列を条件付きUPDATE

どもです。
MySQLにて。

UPDATEの際、「条件を満たすなら更新を適用」ならWHEREの方に条件を書けば良い。
しかし更新対象列が複数ある中で、「この列(カラム)の更新には条件をつけたい」場合では、WHEREでは全体の条件となるため不可となります。

解:SET内で、CASE-WHENが使用可能です。... 全文を読む »

[MySQL]SUMしてUPDATE

どもです。
要件としては、以下。

TABLE01
ID quantity
... 全文を読む »

CSSで円錐台を作りたい。

どもです。

CSSで台形を作るのは、borderを使えば簡単です。
原理は以前に書きましたCSSで三角形を作るのと同じで、borderの一辺のみを表示させればOK。... 全文を読む »

IEはfor..ofループ使えないし、IE8はarray.indexOfすら使えない

どもです。
タイトル10割の備忘録。

モダンブラウザで動かすなら、これだけの処理。


for(let array 
... 全文を読む »

[MySQL]親ごとに枝番をAUTO_INCREMENT

どもです。
ちょっとした小話。

MySQLにて。


+-----------+---------+
| 
... 全文を読む »

PHPやJSやMySQLの対偶とか補集合とか

どもです。
自分では対偶で認識していたのですが、人に教えるには補集合の方が分かり易いぞ。
となったので、次の機会のために図に残しておきます。

基本

い &&

... 全文を読む »

scriptタグの中のURLはHTMLエスケープしちゃダメ…のはずが。

どもです。

とある旧いWebシステムのアップデートを行いました。
どれくらい旧いかといえば、推奨環境がIE5~8という旧さです。

で、アップデートの直後、窓口の方から「ボタンを押したらエラーになった!」と報告があったのですが、詳しく状況を伺うと推奨環境のIEでなくGoogleChromeでアクセスしていること、そもそも今回アップデートした箇所とは無関係であることがわかりました。ヲイ。

で、肝心の何がエラーを起こしていたのか、ですが。... 全文を読む »

CSSだけで要素を裏返すアニメーションを実装する

どもです。
所用でツールを作っていたときに、コインが裏返るようなアニメーションが欲しかった。

というわけで実装してみました。

シンプルに裏返す


<div 
... 全文を読む »

$(document).keypress(function(){})はスマホの個体差で爆死することを僕は学んだ。

どもです。

バーコードリーダをBluetoothでスマホに接続するタイプのウェブシステムを作っていたのですが、いざ実機(AndroidのGoogleChrome)で動かしてみると稀にホーム画面に飛んでしまう。なにゆえ?

再現条件を調査したところ、
①alertでOKを押した直後、またはalertのフォーカスを外した直後
②Enterに相当するキー(CR)が入力されると... 全文を読む »

XMLなのにresponseXMLがnullでresponseTextに値が入るときに確認すること

どもです。

XMLをjsで読み込む簡単なプログラムを作っていたはずなのですが、何故か読み取ったファイルのresponseXMLがnullになる。
responseTextには読み込んだファイルの中身が入っているので、読込後のエラーのはずです。

overrideMimeType()など試してみましたが、どうにもダメ。テキストでしか読めない。何故だ…

と思っていたら、思わぬところにヒントを発見。... 全文を読む »

array_search()やin_array()する前には、ちゃんとarray_map('trim', $array)するんだぞ!ってメモ。

どもです。
しょーもないことでハマったので備忘。

外部から貰ったCSVを取り込むのに、その項目が何列目にあるかをarray_search()で照合しようとしたら、特定の項目でfalse食らってしまったわけですね。

array_search()でやらかし易いミスといえば、

・第三引数にtrueを設定しないことで、文字列型と数値型の比較になってしまう。... 全文を読む »

file_get_contents()はhttpでないと持ち帰るものが変わってしまう?

どもです。
file_get_contents()に関する備忘録。

PDFを生成し、添付したメールを送信。そのためには作成したPDFをいちど取得しなければなりません。
しかし使用しているPDF作成ライブラリの仕様として、header()を変更してechoしてしまいます。
このため、include()でなくfile_get_contents()を使って生成データを「取得」することが求められます。... 全文を読む »

PHPでファイルをダウンロードさせようとしたら空の実行ファイルがダウンロードされた事案のたぶんレアケース。

どもです。

DBからcsvをダウンロードするphpを移植したら、空の(実行ファイル名).phpがダウンロードされてしまう事象が起きました。
開発や検証中にはそのような事例は一度も無かったのですが、はて。

この原因ですが、端的に言えば何も出力できないのに出力しようとした... 全文を読む »

Ajaxで403エラーを食らった原因がファイル拡張子だった話。

どもです。
AjaxでデータをPHP処理しようとしたところ、403エラーになりました。

ForbiddenYou don't have
... 全文を読む »

jQueryのイベント発火順を理解して、簡単に「それ以外を押したら閉じるサイトメニュー」を実装する。

どもです。

HTML&CSSコーダーから離れて久しい僕ですが、久しぶりにまともにスマホ用ページを作ることに。
というわけでタッチで開閉するメニューを…

と思ったのですが、スマホ用ブラウザやアプリが使い勝手良く進化しているので、4年前の記事... 全文を読む »

1 2 3 4 5 6 12