000webhost 勝手にバックスラッシュが入る


無料サーバ 000webhost では、 フォームから入力したデータを DB に挿入するときに 自動で不要なバックスラッシュが入ってしまうことがあります。

これは PHP がセキュリティのためにバックスラッシュを入れて予期せぬ動作が発生しないようにする仕組みですが、 バックスラッシュを入れてほしくないところでバックスラッシュを入れられてしまうことが頻発していたので 設定を変えてバックスラッシュが入らないようにしました。 データのチェックは 別の部分でやっているので 特別問題はありませんでした。

その時の方法を紹介します。

方法

PHP の magic_quotes_gpc という機能が有効になっているので それをオフにします。

具体的には magic_quotes_gpc をオフにしたいディレクトリに、.htaccess という名前のファイルを作り、そこに下記のコードを追加します。

magic_quotes_gpc の値は メソッド get_magic_quotes_gpc で確認することができます。


.Net ラベルの AutoSize プロパティのデフォルトを固定


Visual BasicVisual C# などでフォームアプリケーションを作っているときの話。

ラベルのAutoSizeのデフォルトが False だったらいいなー と思ったことはないだろうか。 AutoSize = True で作ります!ってとこもあるだろうけど、私の会社では AutoSize = False。 しかし毎回ラベルを貼り付けるたびにプロパティを設定するのも面倒だ。そこで LabelAutoSize のデフォルト値(規定値)を False にしたラベルを作ってしまおうというのが今回のコード。 Visual Studio 2010, Visual Basic で確認済み。

Visual Studio Professional Edition の場合は、継承したコントロールを作ることができる。 Express Edition では、継承したコントロールは最初からはできなかったような気がする。その場合は、継承したクラスをまず作る。

継承するのは System.Windows.Forms.Label。 ここでありがちなのが、コントロールのデザイナ画面のプロパティウインドウで AutoSizeFalse にするやり方(デザイナ画面には何も表示されないが、プロパティウインドウは使える)。 Label の場合は厄介で、実際にフォームに貼り付けるときには AutoSize = True に戻ってしまう。 そこで、コードの表示をして、次のコードを追加する。

続きを読む .Net ラベルの AutoSize プロパティのデフォルトを固定