htmlspecialcharsメソッド
第一引数に変換したい値を、第二引数にオプション、第三引数に文字の型を指定し、 特殊な文字をhtmlエンティティに変換します。変数に悪意のある値、例えばスクリプトタグにパスワードなどを忍び込ませそれを悪意のあるユーザーの手に渡ってしまうことなど、を防ぐために利用します。
md5メソッド
引数に入れた値を128bitの値に暗号化します。パスワードなどを入れるのですが、最近ではコンピュータの性能が上がり、総当たりで解読できてしまう時代なのでさらなるアップデートが必要になります。
var_dumpメソッド
引数に変数を指定して、そこの格納されている値を出力するメソッドです。
issetメソッド
引数に値が入っていればtrueを返し、入っていなければfalseを返します。引数にクオテーションマークで値に空を指定してもtrueを返すので全く何も入っていない状態でないとfalseになりません。
エラーの解決手順
今日はエラーとの戦いでしたのでその解決手順について書いていきたいと思います。一番時間をかけたのがhtmlにエラー文を追加するというものです。今使っているmampかphp7のせいかわかりませんがデフォルトでは間違ったプログラムを実行した時のエラー文が表示されないのでそれを表示させることを目指しました。まずはググって調べたのですが、まず最初にそれぞれのphpファイルにエラー文を表示させる記述をするというものがありました。実際にやってみたのですがエラーになった時にうまくエラー文が画面に表示されました。しかしこの方法だと違うページのプログラムを書く時にいちいちこの記述をしないといけないので面倒臭いと思い、一つの記述で扱う全部のページでエラー文を表示させる方法を探しました。そこでphp.initというmampライブラリの奥底にあるファイルのdisplay_errorsをoffからonにすれば今回の目標を達成できることがわかりました。そこで実際に変えてみたのですがエラー文がうまく表示されませんでした。そこで考えられる原因を考えてみました。
1、記述をしたファイルをwebサーバーが読み込んでいない
これを解決するにはwebサーバーを再起動させればいいのですが、再起動してもうまくいきませんでした。
2、そもそもmampで読み込んでいるはずのphp.initを読み込んでいない
これを解決するにはphpinfoメソッドでどのファイルを元にルールを作っているのかを調べてみて、今回はその場所にphp.initを読み込んでいることがわかったのでここが問題ではないと判断しました。
3、display_errorsをonに変えるだけではエラー文が表示されない
これも考えられましたがphpinfoでそもそもdisplay_errorsがonになっていなかったので上記のところが怪しいと踏みました。
結果
再度ググって結果、変更したphp.initを読み込んでいないことがわかりました。実は似たような構成のディレクトリ先に全く同じ名前のファイルが存在していてその中のdisplay_errorsを変更することで無事エラー文を表示させることができました。今回のとるべき行動はphpinfoに記されているファイルのディレクトリの構造を1から辿って見比べてみるということでした。まさか全く同じ名前のファイルが存在しているということは思わなかったのですが、この経験からしっかりとファイルの構成の道筋を辿っていくことが重要だということがわかりました。