【PHP】隠しフィールドを使って値を送信する方法と注意点

PHP

PHPで隠しフィールドを使ってフォームから値を送信する方法を紹介します。
隠しフィールドには使用する上で注意する点があるので、合わせてシェアします。

隠しフィールドとは

隠しフィールドは、画面には入力欄として表示したくはないけど、値として入力データとともに送りたい
という場合に使われるのが隠しフィールドです。

ファイル構成

∟index.php
∟post.php

フォーム

<form action="post.php" method="POST">
    <div>
        購入数量:<input type="number" name="num" id="">
    </div>
    <div>
        単価:<input type="number" name="price" id="">
    </div>
    <div>
        消費税:10%
    </div>
    <input type="hidden" name="tax" value="10">
    <input type="submit" value="合計">
</form>

上のように、隠しフィールドは、inputタグのtype属性でhiddenを選択することで可能になります。
name属性を付与することで、GETやPOSTのスーパーグローバル変数を使えば取得可能です。

$_POSTで取得して加工する



$num = $_POST['num'];
$price = $_POST['price'];
$tax = $_POST['tax'];
$sum = $num * $price;
$sum -= $sum * $tax / 100;
echo '合計金額は、', round($sum) , '円です。';

隠しフィールドの注意点

隠しフィールドは、ブラウザで改ざんができてしまいます。
そのため、改ざんされて困るような値には使ってはいけません。
そういった値は、サーバーに保持している値を使うようにしましょう。

PHP

Posted by devsakaso