アフィリエイト広告を利用しています

2019年03月29日

No recipient addresses found in header

PHPのプログラムを実行すると

No recipient addresses found in header

が表示された。

多くのエラーをクリアし、やっと完了画面にたどり着いたと思ったら

画面の一番上に表示されていた。


Webで検索してみたら、

メールアドレスがない、という意味だった。

深い問題でなくてよかった。

メールアドレスを登録してから実行したら、

表示されなくなった。



posted by db-engineer at 00:00 | Comment(0) | PHP

2019年03月27日

javascriptでカーソルの形を変える

CSSではなく、Javascriptでボタンの形を変える方法。

HTML

  <input type="submit" name="btn1" value="送信" id="btn1" />


上のボタンのcursor属性を指定する。

Javascript

  document.getElementById("btn1").style.cursor = "pointer";


pointerの前後を " で囲んだらうまく動作した。



posted by db-engineer at 00:00 | Comment(0) | Javascript

2019年03月24日

日付が0000-00-0000

Mysqlのデータベースを使用していて

Dateタイプのフィールドの値が 0000-00-0000 になっているのに気付いた。

現象が発生しているのは必須入力ではない日付欄。

Webで検索してみると

null がこのような形式で表示されるらしい。

モード(sql mode)を切り替えると0000-00-00となるのを防げるようで、

そのためのコマンドがいくつか記載してあった。

早速、そのコマンドを実行した。

試行錯誤


SET GLOBAL sql_mode = 'modes';
    ↓

 #1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation


rootユーザではないので、仕方ない。しかし、こちらも駄目。

SET SESSION sql_mode = 'modes';
    ↓

 #1231 - Variable 'sql_mode' can't be set to the value of 'modes'


次のコマンドは実行できた。

SET SESSION sql_mode = 'STRICT_ALL_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_DATE';

実行結果を確認すると、

SHOW VARIABLES LIKE "%sql_mode%";

sql_modeの値は空のままだった。設定は行われていない。

etc/my.cnfファイルにsql_modeの設定を書き込んでも良いらしいが

レンタルサーバなので権限がない。

最後の一手


万策尽きてしまったが、ここで閃いた。

開発中のシステムは長くても3か月しか使わない。

2019年以外の日付は入力されない。

月と日を別々の整数項目にすれば、0000-00-00 は発生しない。

月と日をプルダウンメニューで選択するようにすれば

入力の手間が増えることもない。

本質的な解決ではないが、回避策としてはこれで十分。


posted by db-engineer at 00:00 | Comment(0) | Mysql

2019年03月21日

pear:quickform setDefaultsの挙動

setDefaultsの動きが定かでないことは以前にも書いた。

(定かでないのは私の頭かもしれないが...)

また、setDefaultsが動作せず、テキストボックスに初期値を設定できない。


 $qform->accept($renderer);
 $this->renderer->assign('form', $renderer->toArray());
 $qform->setDefaults(array('honbu'=> ’東京’));


honbuフィールドに初期状態で東京と表示できない。

何と、コマンドの順番に問題があった。

setDefaults の行を $qform->acceptの行の上に移動したら解決した。

初期値を表示できた。

参考)
pear:quickform setDefaultsの謎









posted by db-engineer at 00:00 | Comment(0) | PHP

2019年03月18日

全角スペースを見落とす。

PHPでClassに関数を追加して

実行すると画面は真っ白になった。

追加した関数を削除して、

実行すると正常に動作した。

追加した関数を何度見返しても、間違いはなさそう。



20分ぐらい悩んだが分からない。

7,8行しかないのに。

途方に暮れかけたところで、

ソースコードの字下げ部分をチェックしてみた。

関数の最後の2行の先頭に全角スペースがあった。

こんなことで時間を取られるとは悲しいし、悔しい。




posted by db-engineer at 00:00 | Comment(0) | PHP

最新記事
検索
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド