■参考サイトはこちら↓↓↓
* 方法として2通り
1.サーバーのPHP側で入力チェックする方法
2.サーバーのPHPに送る前に、クライアントのブラウザで入力チェックする方法
(ブラウザでは JavaScript などの言語を使って行います)
・C:\phpdev\www\sample011 フォルダを作成
・C:\phpdev\www\test\sample011\calc.html を作成
→ C:\phpdev\www\test\sample010\calc.htmlと同じ
============
<html>
<head>
<title>calc.html</title>
</head>
<body>
<form name="form1" action="calc.php" method="post">
<input type = "text" name = "txtA">
<select name="selOpe" size=1>
<option value = "+">+</option>
<option value = "-">-</option>
<option value = "×">×</option>
<option value = "÷">÷</option>
</select>
<input type = "text" name = "txtB"> = ?
<br>
<input type = "submit" value = "計算">
<input type = "reset" value = "クリア">
</form>
</body>
</html>
============
・C:\phpdev\www\test\sample011\calc.php を作成
============
<?php
//値を取得
$a = $_POST['txtA'];
$b = $_POST['txtB'];
$ope = $_POST['selOpe'];
dataCheck($a,"txtA");
dataCheck($b,"txtB");
//セレクトボックスによって処理を変える
switch ($ope) {
case "+":
$answer = $a + $b;
break;
case "-":
$answer = $a - $b;
break;
case "×":
$answer = $a * $b;
break;
case "÷":
$answer = $a / $b;
break;
default:
break;
}
function dataCheck($str,$name){
if(strlen($str) == 0 || ereg("[^0-9]",$str)){
print("<html><head><title>入力エラー</title></head><body>");
print($name." は半角数字を入力してください。<br /><br />\n");
print("<a href=\"#\" onClick=\"history.back(); return false;\">再入力</a>\n");
print("</body></html>");
exit;
}
}
?>
<html>
<head>
<title>calc.php</title>
</head>
<body>
<?php
//計算結果を表示
print ($a." ".$ope." ".$b." = ".$answer."\n");
?>
<br />
<br />
<a href="#" onclick="history.back(); return false;">前の画面へ戻る</a>
</body>
</html>
============
・C:\phpdev\2K-NT-XP-phpdev_start.bat を押下し、Apacheを起動
→ http://localhost/ で、ディレクトリが確認できればApacheが起動されている
→ 半角数字を入力し、計算を押下するとcalc.php へ遷移する。
* 文字を入力した場合は、エラーメッセージが出力される。
* ereg()関数: PHPでマッチングを行うときに使う関数。
* intval()関数:引数を整数にして返します。成功時は整数、失敗時は 0です。
*関数の書き方
function 関数名(引数,引数){
処理;
return;
}
*返り値(以降は戻り値とします)がなければ、 return は省略できます。
以上ーーー!