Category: Uncategorized

入力フォームの作成

No Comments

アンケートアプリケーションで使用する入力フォームを、Smartyで作成する場合の方法についてです。

まず、通初期化処理の関数化は、PHPのロジックファイル内で、他のファイルと共通して行う処理があります。
たとえば、どの画面でもセッションは使いますし、Smartyも画面を出力する画面では必ずインスタンスの生成を行います。
これらの処理をinit()という関数をつくって、すべてのファイルからインクルードして初期化設定とします。
マスターデータを呼び出す関数も、別関数として分けておくとよいでしょう。

次に、入力フォームを司る input.php の作成です。
アンケー卜入力フォームを裏側で表示したり、入力された値を受け取るなどの処理を行うPHPファイル 「input. php」 を作成します。
このinput. phpファイルに遷移してくるパターンは主に3パターンあります。
1つ目に、アンケートを入力しようと初めてアクセスしに来る場合。
2つ目に、アンケート入力後に登録確認ボタンがクリックされて入力された値が POST される場合。
そして、3つ目に、確認画面より戻るボタンにより戻ってきた場合です。
この3点を想定しながらプログラミングします。
2つ目の登録確認ボタンがクリックされたタイミンクでは、入力された値をセッションに保存し、 Location ヘッダを操作して確認画面へ画面遷移するようにプログラミングします。
ここでは、MySmartyを生成して、性別のリストと年代のリストをassignして、Smartyを表示するスクリプ卜を記述しましょう。

⑨ アンケートのHTML入力フォームの作成

テンプレートエンジンSmartyを使用して、アンケートの HTML入力フォームを作成する方法です。
入力フォームは input.php から display により出力されるものですが、入力された値を POST するアクション先は確認画面でなく、出力元である input.php へ遷移します。
自分自身の呼び出し元に戻す形になるため、一見不自然に思われるかもしれませんが、input.php では入力された値が正しいかのチェックを行います。
つまり「入力に関して」の挙動をすべて入力フォーム内で完結させることによって、スクリプトと画面の役割を明確にできるのです。
ここでは、Smarty での性別のラジオボタンの作成と年代のセレクトボックスと好きな動物のチェックボックスリストの作成を行ないます。

また、入力エラーがあった場合は前回入力したものをデフォル卜入力 (選択) されていることを想定しながら input.tpl を定義します。
たとえば、テキストフィールド <input type=”text” >であればvalue属性に前回入力された値をセットしなければなりませんし、ラジオボタン <input type=”radio” >なら「checked=”ch ecked”」を定義するなどの措置が必要となります。

Categories: Uncategorized

便利なテンプレートエンジン「Smarty」

No Comments

今日のWeb開発では、効率的に開発するためにテンプレートエンジンがよく使われています。
その中でも、この章で解説する Smarty というテンプレートエンジンは、マニュアルが充実しており、使いやすいことが特徴です。

まず、SmartyはPHPとHTMLを分離するモジュールです。
PHPスクリプ卜の中に「く?php」と「?>」タグで囲むことで、HTMLの中にPHPプログラムを埋め込むことができます。
それがPHPの特徴であり、直感的にわかりやすく、非常に便利だと思われていました。
しかし、今日のWeb プリケーションでは挙動やデザインが複雑化しており、各専門職のスタッフに分かれて、ひとつのアプリケーションを作成するようになっています。
作業環境が複雑化するに連れて、スタッフ間での作業カが衛突突する可能性も高くなってしまいます。
そこで「テンプレートエンジン」の登場です。
テンプレートエンジンとは、デザイナーとプログラマの作業が衝突しないように、見た目の役割をする HTML / CSS とロジック部分のスクリプトを分離して、平行作業を可能にしたモジュールのことです。
多くあるテンプレートエンジンの中でも、簡単に使える、拡張性高い、マニュアルが豊富、処理速度が速いという特徴を持つ Smarty は特によく使われているのでおすすめです。
ぜひ使ってみてください!

Categories: Uncategorized

変数のデータ型

No Comments

スクリプトの中で扱うデータには、さまざまな値があります。整数・小数・文字列・TRUE / F ALSE (真/偽 )などの種類があり、データ型を意識しながらプログラミングを行わなくてはい けません。

また、文字列の扱いについて、文字列を表現する場合は、シングルクォーテーション (‘ ) かダブルクォーテーション (“)で括る必要があります。 シングルクォーテーションで括られた文字列内でシングルクォーテー ションを表現したい場合は、文字列の終端ではないことを表すためにシングルクォーテーションの前に「¥」を記述します。 これを「エスケープする」と言います。 タブルクォーテーション内でダブルクォーテーションを扱うう場合も同様です。

通常どちらを使ってもかまいませんが、ダブルクォーテーションで括った場合、 クォーテーション内に記述された「改行コー ド (¥n ) Jや 「タブコード (¥t ) 」などのコードを解釈します。 また、その中の変数も展開されます。

実は、PHP は他の言語に比べて変数のデータ型が暖昧です。文字列型でも式の構成によっては数値型・論理型に自動変換されて演算が行われます。たとえば、文字列同士の演算でも、数値に変換することかできる場合は数値型として処理されます。

Categories: Uncategorized

PHPの特色(HTMLに埋め込んで書ける)

No Comments

PHPはHTML埋め込み型言語です。
まずWebブラウザに表示される基本となるものはHTML文書によって書かれています。
PHP言語はこのHTMLの中に埋め込むことが可能ですので、条件によって表示内容を
切り替えたり、ある機能を動作させたい場合に、PHP言語を埋め込んで書くことにより
Webブラウザの表示が動的に変わります。

PHPはこのようなHTMLの埋め込みが行えるのでWebアプリケーション作成に向いている言語です。

WebブラウザはHTMLやPHPによって書かれたものを上から順番に読み込み、表示が行わます。
このようにWebブラウザがHTMLやPHPなどによって書かれたものを上から順番に読み込み
Webブラウザのほうで書かれた内容を解釈し、結果として表示されるように書かれたHTMLや
PHPなどをスクリプト言語と呼びます。

記述例)
<html>
<?php
PHPのプロクラム
?>
</html>

上記のようにHTMLの中に埋め込んでPHPのプログラムを記述します。
「ここからここまでがPHPのプログラム」ということを認識させるために、PHPのプログラムの
開始部分は、<?php の開始タグを付けて、終了部分は ?> の閉じタグを付けます。

また、埋め込みたい場所が複数個所に分かれている場合には、
<html>
<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

<?php
PHPのプロクラム
?>

</html>

PHPプログラムを埋め込みたい場所に開始タグと閉じタグを付けて記述します。

PHPで書かれているプログラムはWebサーバーが動いているサーバーコンピュータで
実行されます。

Webサーバーとは、Webブラウザからの要求を受け付け、HTML文書や画像などのデータを
Webブラウザに送り返しすコンピュータのことです。

PHPに限らずWebサーバー上で実行されるプログラムのことをサーバーサイドスクリプト言語とも
呼びます。

PHPのように誰もが無料で使用することができたり、改良に参加でき、再配布できるようにしたものを
オープンソースと呼びます。

Categories: Uncategorized Tags: Tags:

改行を含んでテキストを表示する nl2br関数

No Comments

 

テキストエリ アから入力された文字列には改行が含まれている可能性があります。しかし、キーボードから入力された改行は、そのままではブラウザには反映されないままなので気をつけましょう。
もしも改行をブラウザの画面上にも反映したいのであれば、改行の部位を くbr/>で置き換える必要があります。そのために、 PHPでは nl2brという非常に便利な関数が設定されています。「nl2br(文字列 )」で、文字列に含まれるすべての改行文字の前にくbr/>が挿入されます。

Categories: Uncategorized

正規表現とは?

No Comments

正規表現(RegularExpression)とは「あいまいな文字列パターンを表現するための記法」です。わかりやすくするために、あえて語弊を恐れすに言うなうば、「ワイルドカードをもっと高度にしたもの」と言い換えてもよいかもしれません。

ワイルドカードとは、例えば工クスプローラなどでファイルを検索するために使う「*.php」「*day*.php」といった表現です。「*」はO文字以上の文字列を意味していますので、「*.php」であれば「a.php」や「abc.php」のようなファイル名を表しますし、「*day*.php」なら「day.php」や「day01.php」 「todayOO.php」のように、ファイル名に「day」という文字を含む.phpファイルを表します。

ワイルドカードは、皆さんにとっても比較的なじみあるものだと思いますが、あまり複雑忽パターンを表現することはできません。

そとで登場するのが正規表現なのです。正規表現は、このようなワイルドカードに、より高度な柔軟性を持たせたもの、といったらよいでしょうか。

 

Categories: Uncategorized

文字列の比較

No Comments

if 文では文字列どうしの比較も行えます。等しい(==) /異なる(!=)だけでな く、大小を比較することも可能です。 文字列の大小は、「文字コード順で並べ替えたときに、コードが後ろにある方が大 きい」というように判断します。文字コードとは、 1つひとつの文字に付けられてい るコード番号のことです。 たとえば、 suzukとsasak を比較すると、 1文字目はともに s なので、こ の時点ではまだ大小が決まりません。そこで、 2文字目のuとa を比較します。 それぞれの文字コードは 117 と97 で、 u の方が大きいです。したがって、 suzuk の方が sasak よりも大きいと判断されます。 アルファベットは ABCの順に文字コードが付けられているので、英単語どうし を比較すれば、辞書順で後ろにくるものほど大きいと判断されます。ただし、大文字と小文字を混在させた場合、小文字の方が大文字よりも文字コードが大きいの で、辞書順にならない場合もあります。たとえば、SUZUKI とsasakを比較すると、 sasak の方が大きいと判断されます。 なお、漢字の文字コードは必ずしもあいうえお順で並んでいるわけではないの で、漢字どうしを比較した場合の結果は、比較する漢字によって異なります。

Categories: Uncategorized

localhostとは?

No Comments

ブラウザのアドレス欄に表示された「http://localhost/xampp/」というURLです。「localhost」とはあまり見慣れないアドレスです。

じつは、これは自分自身のコンビューターを表す特別な名前です。XAMPP(Apache)は、自分のコンビューター上で動いていますので、このような名前で呼び出す必要があるわけです。

今後の実習でも頻繁に登場しますので、ここできちんと覚えておきましょう。

なお、「localhost」で上手くアクセスできない場合には、「localhost」の部分を「127.0.0.1」に変更してください。「127.0.0.1」は、localhostと同じく自分自身を表すIPアドレスです。

Categories: Uncategorized

何を入力すれば良いのか?

No Comments

「早速、PHPスクリプトを作ってみましょう」と言われても、楽しみ半分、不安半分かもしれません。そもそも、どのようなコードを入力すれば良いのか、どれくらい時間がかかるのか、何もわからない状態かもしれません。そこで、最も簡単なブロクゃラムを書いて、動かしてみることにしましょう。

はじめてのPHPスクリプト

はじめてのPHPスクリプトに入力するのは、次の3行だけです。すぐに完成できますが、もう少しポイントを紹介します。作業を進める前に自をとおしておいてください。自画面に『こんにちは」と表示するPHPスクリプト

<?php

echo “こんにちは”;

?>


こんにちは


覚えておいてほしいルールが2つあります。1つは、PHPスクリプトはr<?phpJで始めて「?>」で終えるということ、もう1つは、コドの最後は「;」で終えるということです。作成したPHPスクリプトがうまく動かなかったときは思い出してください。

Categories: Uncategorized

指定した範囲の文字を検索する

No Comments

aからzまでの文字が含まれるかどうかを検索するというような場合は、{と}を使用して、検索する文字の範囲を指定します。たとえば、 $exist = ereg (” [abc] “, $str) ; とすると中に aか bか cが含まれているかどうかか検索され、結果が$exist に代入されます。変数$str の値が This is a pen. だとすると、この文字列 の中には a が含まれているので、 $exist の値はTrue になります。 連続する文字範囲を指定する場合は、 「-」の記号も使用できます。たとえば、 $exist = ereg (” [a-zA-Z] “, $str) ; とすると、 $str の中にアルフアベットの大文字/小文字のいずれかが含まれていれ ば、 $exist にTrue が代入されます。 その他、[]で囲んだものと、その他の文字を組み合わせて検索することも可能で す。

 

Categories: Uncategorized