0
0

More than 3 years have passed since last update.

PHPで作る加算器(足し算しかできない計算機)から学んだこと

Last updated at Posted at 2020-06-11

毎日、プログラミングで色々と作っているウッタムです。今日は、昨日一応完成した「足し算しかできない計算機」から学んだことを、まとめてみました。近々「すべての機能を備えた計算機」を作りたいと思っているので、頑張ります!誤りがある可能性があるので、ご指摘お願いいたします!

2020-06-11 6.58のイメージ.jpg

つまずいた点・気になったこと①【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」を代入する、ということになります!

もっとできること

何が他にできるか考えてみました。作っただけで終わらせず、向上させたいですものね!

  1. リセットボタンを導入
  2. 数字ではないものがフォームに書かれた場合、エラー文の表示

とかでしょうか。

まとめ

足し算のみできる計算機.gif

今回は、加算器の復習をしてみました。作っただけでなく、整理してみると理解度が深まりますね。ぜひ、皆さんも色々な計算機を作ってみてくださいね。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0