PHPで作る加算器(足し算しかできない計算機)から学んだこと
毎日、プログラミングで色々と作っているウッタムです。今日は、昨日一応完成した「足し算しかできない計算機」から学んだことを、まとめてみました。近々「すべての機能を備えた計算機」を作りたいと思っているので、頑張ります!誤りがある可能性があるので、ご指摘お願いいたします!
つまずいた点・気になったこと①【bodyタグ】
<form action="calculator.php" method="post">
<div class="main_point">
<input type="text" name="number1" value="<?php echo htmlspecialchars($number1); ?>"> +
<input type="text" name="number2" value="<?php echo htmlspecialchars($number2); ?>"> =
<?php print $answer; ?>
</div>
<input type="submit" name="button_sum" value="計算する!">
</form>
form action="" method="post"
formタグのaction属性について
フォームにある「送信ボタン」を押して送信されるデータの送信先を指定できるので、action属性の中にURLを入れる。絶対に記載しないといけないもの。
メソッド属性のpostについて
フォームデータをサーバに送信する方法をWebブラウザに伝えるもの。POSTの値を指定するなら、ブラウザが処理されるためにデータをウェブサーバに送信してくれる。参照したWebサイトより
つまり「サーバーに入力したものの結果を表示してもらうようお願いする」メソッド。
htmlspecialcharsについて
セキュリティのためにつけたいもの。これを使うと、特殊文字を、特殊な意味を持たない単なる文字列に変換してくれるのです。
つまずいた点・気になったこと②【PHP内】
<?php
if (isset($_POST['number1']) && isset($_POST['number2']) ){
$number1 = $_POST['number1'];
$number2 = $_POST['number2'];
}
$answer = $number1 + $number2;
?>
見た感じ、シンプルですね〜。少しずつ分解して理解してみると以下の感じになります。
issetとは...
変数が設定されているかを調べるもの。フォームから送信されたデータの値がセットされているかどうか確認したい時に使う。isset(引数)という形で利用し、引数には変数を入れる。変数に値が挿入されていたら、戻り値を返す。
$_POSTとは
form(フォーム)からデータを受け取る方法として、GETとPOSTの二つがある。
GETを使うと、フォームに記入したものが、ブラウザーとURLの二つに反映される。パスワードとか個人情報の場合は、危険。
単にデータを受け取りたい場合は、POSTでOK!
&&とは
「左右に書かれているものの両方が含まれる」という意味。今回の場合は、isset($_POST['number1']) と isset($_POST['number2'])の両方が記載されている場合、となる。
今回のif文
まとめていると、今回の条件式は以下のことになりますね。
number1とnumber2の両方に値があったら、「$number1にはnumber1」「$number2にはnumber2」を代入する、ということになります!
もっとできること
何が他にできるか考えてみました。作っただけで終わらせず、向上させたいですものね!
- リセットボタンを導入
- 数字ではないものがフォームに書かれた場合、エラー文の表示
とかでしょうか。
まとめ
今回は、加算器の復習をしてみました。作っただけでなく、整理してみると理解度が深まりますね。ぜひ、皆さんも色々な計算機を作ってみてくださいね。
Author And Source
この問題について(PHPで作る加算器(足し算しかできない計算機)から学んだこと), 我々は、より多くの情報をここで見つけました https://qiita.com/PWuttam/items/2d730e65a0826cd35990著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .