TODAY: YESTERDAY:
TOTAL:

Lesson10-2 〜入力チェック〜
■Lessonを終えると以下のようなPHPプログラムが作れます。


Lessonサンプル

■What's

さて、今回はさらに一行掲示板に改良を加えるわけですが、今回は何も入力なかった時は書き込みしないようにします。そして、「何も入力されていません」と表示させてみましょう。

■サンプルプログラム

テキストエディタに以下のように書き込んで、「lesson10」フォルダの中に「form2.php」として保存しましょう。

<?php
$body = $_REQUEST["body"];

if($_REQUEST["write"] != ""){
if($body != ""){
$body = $body."\n";
$fp = fopen("./data.txt","a");
fputs($fp,$body);
fclose($fp);
}
else{$error_message = "<font color=\"#FF0000\"><b>何も入力されていません</b></font>";}
}
?>
<html>
<head>
<title>一行掲示板</title>
</head>
<body>
<h1>一行掲示板</h1>
書き込む内容を入力してください。<hr>
<?= $error_message; ?>
<form name="form" action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST">
<input name="body" type="text" size="40">
<input name="write" type="submit" value="書込"><hr>
<?php
$data = file("./data.txt");
for($i=0; $i<sizeof($data); $i++){
print "記事NO.${i}:${data[$i]}<br>\n<hr>";
}
?>
</form>
</body>
</html>

できましたら、ブラウザのアドレスに
http://localhost/lesson10/form2.php」と入力してアクセス!!
ロリポップ!
さくらのレンタルサーバ
などのレンタルサーバー使ってる方はlocalhostのところはドメイン名になります。
(簡単に安くネットショップを開きたい方はこちら!)

さて、如何でしょうか?ちゃんと表示されましたでしょうか?

■解説

if($body != "")

さて、まずはココからやっつけていきましょうか。察しの良い皆さんのことですから、コレ見ただけでなんとなく想像つきますよね?えぇ。ソウナンデス。「$bodyの値があったら{}の中を実行する」ということになります。この辺はLesson10-1を見ていただければ良いかと思います。

else{$error_message = "<font color=\"#FF0000\"><b>何も入力されていません</b></font>";}

新しく追加したのはココ!elseを使用しています。つまり、「$bodyの値が空だったらelse以下{}の処理をする」ということになります。では、その{}の中身デスガ。$error_messageにエラーを表示させる文字列を代入しています。ついでにタグもいれちゃってます。

<?= $error_message; ?>

さて、最後!$bodyがからだった場合に$error_messageに値が代入されるので、それを<body>タグの中に入れます。$bodyの値が入っていれば何も表示しません。

如何でしたでしょうか?結構簡単に入力チェックって出来てしまうデスヨ。チェックする項目が増えれば、&&や||なんかを使って処理してしまえばいいのです。ソウナンデス。さて、お次はいい加減に表示の順番を最新が上にくるようにしてみたいと思うデス。

このLessonが役に立った方は、1クリックお願いします!PHPランキング

■スポンサードリンク