chapter6 簡単なユーザー判定
イエアガイズ!元気にしてたか?顔色悪いぐらいがロックだぜ!オーケーマシュマロ腹ども!このチャプターでは簡単な条件判定をやってみるぜ! 条件判定って何って?まかせとけ!説明してやろう!
条件判定っつーのは、プログラムには欠かせないもので、 例えば「合計が10以上ならAの処理を行う」とか「今日が誕生日ならBの処理を行う」 なんていうのがそうだな。ログインフォームなんかがまさにそうだ。 「ユーザー名とパスワードが一致すればログイン」これも一つの条件判定だな! わかったかこの薄給野郎!
じゃあちょっとプログラムの仕様を考えてみるぜ!
簡単なユーザー判定
1. ユーザー名の入力、送信
2. あらかじめ決められたユーザー名と照合
3. 一致すれば規定の文字列を表示
4. 一致しなければエラー表示
イエア!プログラムは下のようになってるぜ! 解説を見る前にちょっとどんなことしてるのかなーぐらいのことは考えてみなよ!
<?php
$sName = "";
$sDisp = "あなたのお名前は?";
if(isset($HTTP_POST_VARS['username']) == true)
{
$sName = $HTTP_POST_VARS['username'];
}
$nLen = strlen($sName);
if($nLen > 0)
{
if($sName == "SHIHO")
{
$sDisp = "愛してる!";
}
else if($sName == "佐藤江梨子")
{
$sDisp = "家に来てくれ!";
}
else
{
$sDisp = "このサイコ野郎!";
}
}
?>
<html>
<body>
<?= $sDisp ?><br><br>
<form action="6.php" method="post">
<input type="text" name="username">
<input type="submit" value="送信">
</form>
</body>
</html>
POST変数を受け取る(line:3)
POST変数ってのは下のフォームから送信された文字列のこと。 method="post"ってなってるだろ?そのフォームから送信されると 6.phpというプログラムにデータのPOST処理が行われる。 それを$HTTP_POST_VARS['username']って言う感じで取得するんだ! usernameってのはフォーム内の値名な!わかんだろ? とりあえず深く考えずに「こうすれば取れる」って覚えとけ!ユーザー名の文字数を数える(line:4)
ここではstrlenという関数を使って、入力されたユーザー名が何文字かっつーのを $nLenという変数に格納してるんだぜ!ユーザー名が空かどうか判定する(line:5)
上で取得した文字数を判定して、0文字以上(空じゃない)であれば if文の中に入るという判定処理だ!ニュアンスをつかめ!「もしもカッコ内が正しかったら、 { と } で囲まれた部分が実行される」ってこと!
ユーザー名が規定文字列と一致するか判定する(line:7〜18)
ユーザー名がSHIHOなら$sDispに「愛してる!」を入れ、佐藤江梨子なら「家に来てくれ!」を入れる。 それ以外なら「このサイコ野郎!」を入れるという判定文群だ!「A == B」ってのはAとBが同じ値か っていう意味だぜ!基本的にif文は以下のようになってるぜ!
if (A) { aaa... }
else if (B) { bbb... }
else { ccc... }
Aが正しければaaaという処理を行う。AじゃなくてBが正しければbbbという処理を行う。 AもBも正しくなければcccという処理を行う。どうだ!ちょっとはニュアンスがつかめたかこの野郎!
この判定文を利用して$sDispにメッセージを入れ、あとは下で表示しているだけ! どうだ、こんな簡単なもんでちょっとしたことができるだろ! あとは、ちょっと頭をひねれば、パスワードを使ったログインフォームとかできそうじゃね? やばくね?色々発想広がっちゃわね?
つーわけで、簡単なユーザー判定をやってみたわけだが、このチャプターまでの技術で 結構色々なことができちゃうんだなこれが!色々試してみな!
じゃあ先生これから2時ドキのピーコのファッションチェック見なきゃだから、 このチャプターはこれで終わりだこの天然ソリコミ野郎!