2014年9月18日木曜日

PHPmemo_day2

PHPの基本に関するメモ。参考にしているのはPHPによるWebアプリケーションスーパーサンプル第2版の第2章前半です。 コードを書いて紹介するのは大変なので、C言語やJavaと違うところを主に取り上げていきます。

  • フォームからPOST送信された値を受け取るときには$_POST["content"]とすればnameがcontentのデータを受け取れる。
  • php.iniのregister_globalsをONにすると$contentで参照できるようになるが、セキュリティの都合上OFFにするのが一般的
  • @$_POST["content"]とすることで、contentが初期状態で何も設定されていない状態でもエラーが出なくなる
  • $_SERVER["PHP_SELF"]は現在表示中のURLを表すサーバ変数である
  • $HTTP_POST_VARS["content"]のようにPOST送信されたデータを受け取ることもできるが、php.ini-recommendedでは無効になっている。
  • php.iniにはdisplay_errorsという設定項目がある。これはエラーを画面に出すためのオプションであり、デバッグに使える。
  • $_GET["type"]などとすればGET送信されたURLのtype=の値を取得することができる。
  • フォームから送信されるデータはstring型である。
  • フォームから変数を受け取って、同じ変数名に受け取った値を設定するには、extract関数を使う。ただし、extract($_POST)のように記述すると、ユーザの入力をそのまま出すのでエスケープ処理などをした方がよいとされる。
  • フォームからある変数が飛んできているか調べるにはisset関数を利用する。if文や三項演算子を用いて変数の有無で変数を設定する際に使える。
フォームからの入力内容を確認するためによく使われる関数についても紹介しておきます。
  • function_exists
    • 引数の文字列の関数名が定義されているかを調べるための関数
  • strlen
    • 文字列の長さを調べるための関数
  • empty
    • 空、または0でTRUEを返す関数
  • isset
    • 変数が定義されていればTRUEを返す関数
  • stristr、strstr
    • 文字列のマッチングで利用する関数。前者は大文字と小文字の違いをignore(無視)するが、後者では区別している。
  • is_numeric
    • 文字列が数字として解釈できるのであればTRUEを返す関数。数字は半角でないとTRUEにならない。
  • ctype_digit
    • is_numericに似ているが、小数点が含まれるとFALSEになる点が異なる。あとは同じ。
  • ctype_loert、ctype_upper
    • 引数の文字列が小文字、あるいは大文字だけからなるかを調べる関数
  • checkdate
    • 引数で与えた月、日、年の数値がグレゴリオ暦で正しい日付か(存在する日付であるか)調べる関数

0 件のコメント:

コメントを投稿

フォロワー

ページビューの合計