Webアプリケーションというのは、一般的なパソコンのアプリなどとはかなり違った技術が使われています。そうした「Web特有の技術」について、PHPでの利用を説明していきましょう。まずは「
ページ遷移」についてです。
Webの世界では、画面の表示はそれぞれ異なるWebページとして構成されます。そして、必要に応じて最適なページに移動しながら表示を変更していくわけですね。これが「
ページ遷移」です。
重要なのは、「ページ移動すると、その前のページまでの情報はきれいにクリアされてしまう」という点です(もちろん、情報を引き継ぐ方法もあります。それについては後で)。先にフォームの送信を行いましたが、フォームを送信すると、送信先のページが最初から読み込み直され、すべて新しく構築されていきました。
ですから、Webアプリケーションでページ遷移を行う場合には、この「ページ移動時に情報は分断される」ということを頭に入れておいてください。その上で、必要な情報を保持する方法などを考えながらWebアプリケーションを設計していく、ということになります。
さて、能書きはこれぐらいにして、ページ遷移について説明しましょう。ページ遷移は、「header」という関数を利用して行います。これは以下のように実行します。
header( ヘッダーに出力する内容 );
なんだかよくわかりませんか? この
header関数というのは、
HTTPプロトコルの「
ヘッダー」にテキストを出力する関数なのです。なぜ、それがページ遷移と関係あるのか? それは、
ヘッダーにページ遷移の情報を用意することで、それを受け取ったブラウザにリダイレクトを実行させることができるからです。
そもそもWebのページは「
HTTP」という
プロトコルを使って送られている、ということは知っていますね?
HTTPは、Webサーバーとクライアント(Webブラウザのこと)の間でどういう手続でやり取りするのかを決めたルールのようなものです。この
HTTPという取り決めに従って、サーバーとブラウザの間で必要な情報をやり取りしながらWebのページアクセスを行っているのですね。
サーバーからWebページが送られてくるとき、まずサーバーからブラウザに知らせておきたいさまざまな情報を、
ヘッダーとして送り、それからWebページ本体を
ボディとして送るようになっています。つまり、
ヘッダーは「ページとしては表示されない、秘密にやり取りする情報」なのです。この
ヘッダー部分に、必要な情報を書き出すのが
header関数というわけです。
ページ遷移を行う場合には、ヘッダーに「
Location: 移動先アドレス」といったテキストを書きだしてやります。この
Locationというヘッダーは、受け取ったブラウザに、指定のアドレスへ
リダイレクト(ページ移動)をさせる働きをするものです。この
ヘッダーを用意することで、それを受け取ったブラウザは指定のページにまたアクセスしなおすのです。