こんな方にむけて
HTMLを習いはじめて、これからPHPにふれるという方を想定して書かせていただきます。
最近二冊の本を買って、勉強中の超入門者です。
数十年まえにCの本を少し読んだことがあります。
このプログラムについては以前にも紹介させていただいたのですが、今回はその内容というかスクリプトについて投稿させていただきます。
プログラムの目的は野菜名、その野菜の品種、作り方のポイントをデータベースに保存して検索できるという簡単なものです。
すこし長くなるので何回かに分けて書いてみます。
最初の画面
一番最初の画面です。
ログインと会員登録のリンクがあります。
今回は会員登録についてです。
HTMLで書かれたファイルでとくに変わったことはしていません。
HTMLは先頭に同じ文面をなんども書くので、別ファイルにしたものをインクルードしています。
これでファイルの行数が減って見やすくなります。
会員登録の画面です。
ここもとくに変わったことはしていません。
フォームで入力画面を表示しているだけです。
氏名、住所などはいらないのですが、それらしくするために入力フォームをつくりました。
PWはメールアドレスになっていますが、ここはあとで出てくる正規表現を使って小文字、数字などの制限をかけるものだと思います。
今回は制限をしていません。
action で送り先を指定しています。
そしてmethodでデータの形式をpostにしています。
ここからすこしややこしくなります。
セッションはログインした人のデータを管理するものです。
会員登録ができるとログインしたことになるので、このファイルに書いています。
ファイルの先頭に書くことになっているようです。
このように未入力のところがあると、登録できずにメッセージが返ってきます。
下のように未入力のところが指摘されます。
パスワードが8文字以下で登録ボタンを押してみます。
このようなメッセージが返ってきます。
パスワードの入力は正規表現で、英数小文字で8文字以上の入力を求めています。
指定された範囲でなければもとに戻ります。
パスワードを正しくセットすると、下のような画面が出ます。
このあたりの未入力をチェックしている部分のスクリプトです。
登録が成功したときの処理です。
関数は文字列にhtmlspecialcharsを付加して、タグを無効化して文字として表示するものですが、スペルが長いので関数にしてhscという頭文字で指定できるようにしました。
これが関数の内容です。
いまはこれひとつだけですが、たくさんの関数を書く場合にもこのファイルに書いていれば、一度に読み込めます。
下の部分です。
最初の$_REQUESTはグローバル変数でアクションで送るときには自動的に付加されるようです。
postで送っているので、$_POSTというグローバル変数を使うのが普通だと思います。
もし$_REQUESTを使うのであれば、method=postはなくても受け取れるようです。
データベースへ接続してsqlのinsertで顧客名簿に追加しています。
hsc関数はもし<h1>徳川家康</h1>と入力されたとき、下のように文字が大きくなってしまいます。
徳川家康
これをh1の文字の意味を受け取らずにh1という文字として表示します。
<h1>徳川家康</h1>
このように文字として表示されます。
悪意のある入力の表現を避けるためです。
最初の画面の会員登録という部分の紹介でした。
ごちゃごちゃとして見にくかったと思います。
申し訳ありません。次回からはもう少し短く、わかりやすく書きます。
ログインが残っていますが、長くなるので次回にさせていただきます。