2010年09月12日


PHP で最初に知っておく ; で終わる処理記述に関わる事

 print "文字列";
print は 関数では無く、「言語構造」だそうです。echo という関数がありますが、
日本人はそもそも、echo ってなじみが薄いので、print でどうぞ。

 exit();
この処理が実行されると、以降の処理は実行されません。

 mixed print_r ( mixed $expression [, bool $return= false ] );
これ知らないとデバッグできません。オブジェクトでも、配列でも文字列に変換して
改行つけたり、いろいろ見やすくしてくれます。また、第二引数に true を指定すると
表示せずに、戻り値に返してくれるのでとても便利です。

 phpinfo();
PHP の情報が全て表示されます。必須です。

 reqire_once("phpファイルのパス");
別のファイルに書いた記述をそのまま埋め込みます


で、PHP の書ける場所を用意する場合
<?

phpinfo();

?>

<?php

phpinfo();

?>

<script language="php">

phpinfo();

</script>

<?= 値を持つ記述 ?>


先頭の書き方が簡単です。2番目は一番推奨するそうですが、始めるにあたっては
先頭のほうがいいです。3番目は「こんなのもある」ですね。

最も重要なのは、4番目です。これを知らないと PHP を知らない事と同義です。

関連する記事

PHPモードとHTMLモード : breaks out of PHP mode and returns to HTML mode


posted by at 22:13 | Comment(0) | PHP | このブログの読者になる | 更新情報をチェックする


2010年09月05日


JavaScript : 変数は乗り物で、function は部屋です。

乗り物には大きく分けて2種類あって、部屋の外で作られた乗り物は、部屋の中に
入る事ができますが、部屋の中で作られた乗り物は部屋の中だけしか移動する事が
できません。

	外で作られた乗り物 = グローバル変数
	部屋の中で作られた乗り物 = ローカル変数
部屋の中ではいろいろな事が行われますが、それを知るには部屋の中で行われるシ ナリオを読む必要があります。シナリオは「行」と言う時間の単位で進んで行きま す。一つの行で行われる内容はかならずいくらかの時間を消費します。 文字列はシナリオの中で、直接かかわる場合もありますが、関係無い場合もあります。 直接赴く場合もあれば、乗り物に乗って赴く場合もあります。 部屋ですから、入り口と出口がありますが、そのルートを通るのは文字列とは限り ません。関係者のみが使う場合もあり、文字列は外で作られた乗り物に乗っておれ ば、その入り口を使わないでもその部屋に入る事ができます。
	入り口にある乗り物 = 仮引数( ローカル変数 )
	出口の目印  = return ステートメント
関連する Mozilla ドキュメント Variables - MDC
posted by at 13:56 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする



JavaScript : 文字列にWEBという世界を旅させる為の心得

旅をするのに、飛行機に乗るなら飛行場。電車に乗るなら駅へ行く必要があります。
また、その場所へ行っても「旅をする為」のチェックがあります。切符を持っている
かどうかとか、持ち込んではいけないものを持っていないとかさまざまです。

それらは、いずれも旅をするのに支障の無いようにする為のルールで
あったりするわけです。極端な話、ルールを守らなくでも「移動」だ
けなら可能ではあるわけですが。

文字列の旅は FORM から出発

<FORM> 〜 </FORM> 中に入る事によってサーバーへの旅の権利を得る事ができます。
また、出発する前にチェックを受けて、全てのチェックに通過してはじめて、
ブラウザがサーバーへ送り出してくれます。

その為に、発射スイッチが必要です

 1) type="submit" のボタン

このボタンを押すと、FORM の onsubmit イベントが起こります

Form_submit_button

 2) onsubmit='return checkForm(this)'

return は、checkForm でチェックされた結果を受け取る為に必要です。ブラウザ
は、こうしておくと checkForm から return された内容を見る事ができます

checkForm は、自由に作成できる「チェック機構」を持つ部屋です。
旅する文字列を全てチェックできるように、FORM 自身を示す、this を引き渡しています。

 3) 問題があれば return false;

return は、それを実行してしまうと、この「チェック機構」を持つ部屋をすぐ
出てしまいます。後に続くチェックの係の窓口に並ぶ事はありません。

Form_submit_check

ただ、作法として、どこがまずかったかブラウザに知らせる為に、focusselectという行動を取ることが「最良のマナー」となっています。
( しなくても良いです )

 4) 問題が無ければ return true;

全ての窓口で「承認」をもらって晴れて旅が始まる直前の状態です。ここから
はもう止める事ができまません。手順に従って旅が始まります。
<script type="text/javascript">
function checkForm( obj ) {
	if ( obj.inp.value != "123" ) {
		alert("一致しません");
		obj.inp.focus();
		obj.inp.select();
		return false;
	}
	if ( !obj.chk.checked ) {
		alert("チェックして下さい");
		obj.chk.focus();
		return false;
	}
	if ( !obj.rb[0].checked ) {
		if ( !obj.rb[1].checked ) {
			alert("どちらかを選んで下さい");
			obj.rb[0].focus();
			return false;
		}
	}

	alert("送信します");
	return true;
}
</script>
<form name="frm" onsubmit='return checkForm(this)'>
<input type="text" name="inp">
<input type="checkbox" name="chk">
<input type="radio" name="rb">
<input type="radio" name="rb">
<br />
<input type="submit" value="送信">
</form>


posted by at 10:00 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする


2010年09月04日


さてお立ち会い。a == b とはいったいなんでしょうか?

ここで == は、メソッド名で、 b はパラメータです。

alert が window に属するように、getElementById が document に属するように、
== は a に属します。WEB アプリでキーボードから入力されるのはみんな文字列
です。ですから、a に入ってるのもたいてい文字列で、a はざっくばらんに言うと「変数」
ですが、結局、エレメントや window や document と 同じメソッドやプロパティ
をもつ「オブジェクト」です。

さらにここで大事なのは、

== というメソッドは必ず true( まこと ) か false( いつわり )返します。
だから、if 文で使うのは当然の事なのです。

※ a は プロパティも持ってますから、a.length とすると、文字数を知る事ができます


関連する Microsoft ドキュメント

比較演算子 (Jscript)
length プロパティ (String オブジェクト)


posted by at 23:13 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする



パスワードの一致に if文を使う

if文を使う目的は、「比較」が殆どです。その中でもさらに「一致」という比較しか
必要無いと言っても過言ではありません。

いや、とにかくプログラミングを覚える事が先決と言う理由だけで無く、WEB アプリ
で複雑なチェックをすると痛い目にあうのが目に見えているからです。入力の種類や
工夫でチェックしないで済むようにするのが賢い考え方で、実際本当にチェックをす
るのは、サーバーのアプリケーションでするものなのです。

ですから、「一致する」という意味の == という記号だけ知っておけばいいのです。
「一致しない」は else でフォローしますし( 文字通り後から書くのでフォローです )


で、何故 = では無くて、== なのかと言うと、= は 先に代入文( a = "ABC" ) に使っ
てしまったので、== を使っているのです。
<script type="text/javascript">
function checkPassWorrd() {
	if ( document.getElementById("pass").value == "123" ) {
		alert("一致しました");
	}
}
</script>
<input type="password" id="pass">
<input type="button" onclick='checkPassWorrd()' value="パスワードチェック">


posted by at 16:50 | Comment(0) | JavaScript | このブログの読者になる | 更新情報をチェックする



getElementById と言う呪文

「魂をもってエレメントを与えたまへ」

大げさに言うと、そのような。魂は同じ魂は二つ無いだろうから、ID と同じと言う事で、エレメント = 要素 = オブジェクト ですが、エレメントと言ってしまえばなんとなくファンタジーです。

document.getElementById - MDC

getElementById は、document に属する「メソッド」です。引数に文字列としての id 属性を渡して、それに対する実体というか実際というか、オブジェクトを返します。ページ上で id を持つ要素を一望するには、IE8 の開発ツールで、表示メニューから、「Class と ID 情報」をチェック状態にします。# が付いているのが ID で、#以外の部分の文字列を使って参照できます
document.getElementById("top_1").style.background = "url(http://winofsql.jp/image/sab.gif)"
Ief12

Firebug 等の開発ツール( IE / Google Chrome デベロッパーツール ) では以下のコードをコンソールに貼り付けて実行すると一覧を取得できます
for( i = 0; i < document.body.getElementsByTagName("*").length; i++ ) {
    if ( document.body.getElementsByTagName("*")[i].id ) {
        console.log( document.body.getElementsByTagName("*")[i].id );
    }
}


posted by at 15:45 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする


2010年09月03日


if文のルール

if ( true ) {
	処理
}

プログラミングの原点とも言える if 文ですが、if 書いて、その横に () を書いて
その後に if 文に所属するブロックを書きます。これがルールです。

function 定義とその記号の意味 ととても良く似ています。function は後から
呼び出す為に先に準備しておくものですが、if は、今まさに起こってる事に対して
書きます。() の間には true(まこと)false(いつわり) になるものをはめ込みます。
で、一番最初解りやすいのが、confirm によるニ択の結果です。
if ( confirm("更新しますか?") ) {
	alert("更新");
}
else {
	alert("キャンセル");
}

confirm("更新しますか?") が実行されると、ダイアログが表示されてボタンが二つ
用意されていて、どちらかを選ぶ事ができます。OK を選ぶと true が返されて、
キャンセルを選ぶと false が返されます。

ですから、その結果次第で if 文は二通りの結果を用意できるわけです


posted by at 15:39 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする



function 定義とその記号の意味

function 名前( [パラメータ] ) { 処理 }
alert も function です。以下のように定義されています
function alert() {
    [native code]
}
そもそも function は、後で呼び出す為に準備するものです。ですから、
呼び出す時に使うものと同じものを用意しなければなりません。

1) 名前
2) パラメータ

ですから、function 名前( [パラメータ] ) までで呼び出せる最低限の
準備をしています。そして、そのままだと何もしない事になるので、{}
という function 名前( [パラメータ] ) に所属するブロックを作成する
事になります。後はひたすらブロックの中に処理を書けばいいことになります。

ここでもっとも注意しなくてはならないのは、

「ペアの記号は最初に両方書く」

という原則です。そうしておかないと、絶対に後から付け足すのを忘れるからです。

a) ()
b) {}
c) ""
とくにこの3つの記号ペアは要注意です。 ※ 書式の注意 [] は、省略可という意味です。 関連する記事 alert("ABC") の意味
posted by at 13:00 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする



文字列って何?

見たままの内容です。文字が列を作っているので、文字列ですが、
文字が行列作って並んでいるところを想像して下さい。

もし、人間の行列なら。たとえば100人しか食べれない限定のラーメンの為に並ん
でいるのだとしたら、先頭から始まって、100人目の後ろで終わります。つまり区
切りですが、その区切りを普通文字列の世界では " (ダブルクォート) を使うわ
けです。

"ABC" は、文字が3つ並んだ行列で、A が先頭で、C が最後です。

"A" でも 文字列ですし、"" でも文字列です。

つまり、見たままではありますが、実際に使用されるのは " と " の間にある部分
です。これを入れ物ににいれる場合があって、それを変数と言います。

a = "ABC"

これは、a という入れ物に ABC という文字列を入れてしまった事を意味します。
変数という入れ物に入れると、それが区切りの変わりになるので " はいらなく
なります。人間だと、乗り物に乗って移動するようなものです。


で、文字列は結局旅をする事が主な役目です。
画面で入力された文字列は、長い旅をしてどこかのサーバーの中にあるハードデ
ィスクの中の一部屋へ収まります。それがそもそもの目的だったりするわけです。


posted by at 09:24 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする


2010年09月01日


prompt の戻り値の扱い

prompt は、二つ目の引数で入力しなかった時の文字列を指定します。
ですから、結果のパターンとしては3種類を想定する必要があります

1) キャンセルした場合
2) 入力しなかった場合
3) 入力した場合


IE では prompt を利用するのに IE のセキュリティ設定で
「スクリプト化されたウインドウを使って情報の入力を求めることを Web サイトに許可する」
に対して有効にしなければなりません
alert( prompt("こんにちは","") );

var mess = prompt("こんにちは","");
if ( mess == null ) {
	alert( "キャンセルされました" );
}
else {
	if ( mess == "" ) {
		alert( "何も入力されていません" )
	}
	else {
		alert( mess );
	}
}
関連する Microsoft ドキュメント

prompt Method (window, Window Constructor)


posted by at 13:29 | Comment(0) | JavaScript : 重要(基本) | このブログの読者になる | 更新情報をチェックする