クラウドで 伸びる人沈む人 |
|
|
|
CGI(Perl)を使ってhtmlタグを表示する
<概要> さてCGIを使ってブラウザで表示させる方法を身につけましたね。 忘れてしまった方は、こちらを復習してください。 でも、これって、 全然ホームページらしくないじゃん!! ってことなのです。 そうなのです。ブラウザで表示するなら、ホームページとして表示されないと意味がないです。 つまりHTMLタグを表示できなければなりません。 今日は、そのへんのところを学んでいきましょう。 <HTMLファイルをレンタルサーバーに> えっと、HMTLタグって知っていますか? もし、HTMLタグがわからない場合は、googleで「HTML タグ」で検索してみましょう。 CGIを勉強するには、簡単なHTMLタグの概念ぐらいは知っておく必要があります。 では、具体的に作業していきます。 最もシンプルなHTMLファイルは、こんな感じです <html> <head><META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"></head> サーチマン<br>ITのホームページ<br><br>現在CGI勉強中<br> </html> この4行↑をメモ帳(スタート→すべてプログラム→アクセサリ→メモ帳)か秀丸にコピペして、 searchman.html というファイルに保存しましょう。 searchman.htmlをサーバーにアップすると、ブラウザからはこんなふうに見えますね。 ※URLは、各自、自分のレンタルサーバーのものにしてくださいね。 サーバーへのアップの仕方を忘れた方は、こちらを復習してください。 ※<html><head><br>などが、HTMLタグと呼ばれるものです。 ちなみに、<html>・・・・</html>はHTMLの開始と終了を意味します。 <br>ホームページでのは改行を表します。 <head>〜</head>は日本語を使うための設定です。 わからなければ、「そうするものだ」と読み流しておきましょう。 <CGIでHTMLタグを使おう> さて、このHTMLファイルを、今度はCGIを使って表現してみましょう。 方法は簡単です。 以下をコピペして、hello.cgiファイルをつくり、サーバーへアップしましょう。 #!/usr/bin/perl print "Content-type: text/html \n\n"; print "<html>"; print "<head><META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\"></head>"; print "サーチマン<br>ITのホームページ<br><br>現在CGI勉強中<br>"; print "</html>"; 気がつきましたよね。print "";の中に、上記のsearchman.htmlファイルの中身をそのままいれればいいのです。 ただ一点、赤字に気をつけてください。 これは、前回学んだルールの適用です。 "の前には、\をつける ということを忘れないでくださいね。 忘れた方は、こちらを復習してみてください。 で、このようにすると、CGIファイル(hello.cgi)でも、結果的に searchman.htmlと全く同様にホームページで表示できますね。 とにかく結論としては、CGIファイルの "(ダブルクォーテーション)には気をつけましょう!! ※応用編ですが、例えば、HTMLタグのリンクは、 <a href="http://www.searchman.info/">ですね。このように"(ダブルクォーテーション)がある場合は、 CGIの中では、当然 <a href=\"http://www.searchman.info/\"> と書きます。 わかりますよね? <改行を知っておこう> さて、通常のHTMLファイルとCGIファイルは、ブラウザからの見た目は同じになることがわかりました。 しかし、実は、ブラウザからソースをみると、ちょっと不都合なことがあります。 ブラウザから、表示→ソースの表示をしてください。 ソースをみてみると、↓ご覧のとおり 改行無しで醜いのです。 ここでは、HTMLタグ中にも、きちんと改行する方法を覚えておきましょう。 以下をhello.cgiファイルにコピペしてサーバーへアップしましょう。 #!/usr/bin/perl print "Content-type: text/html \n\n"; print "<html>\n"; print "<head>\n<META http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n</head>\n"; print "サーチマン<br>ITのホームページ<br><br>現在CGI勉強中<br>\n"; print "</html>"; 何が違うかわかりますね。赤字に注目してください。\nが改行を意味するのです。 これも、ブラウザからみると、さきほどと全く同じに表示されます。 しかし、ブラウザから表示→ソースの表示をしてください。そうすると、 違いがわかります。 きちんと改行されていますね。 このように、6行になっていますね。\nをいれただけ改行されています。 このように、\nは、ソース中で改行されているのですね。 では、覚えておきましょう。CGIの 改行は\nをいれること。 |