チェックボックスを実装してみよう!

お爺さん、お婆さん、桃太郎、犬、猿、雉、鬼の桃色セブンの人気投票ページを作ってみよう!

【PHP】(中身はHTML)投票ページ

<html>

<body>

    <h1>推しキャラ投票</h1>

    <p>好きなキャラクターを選択してください(複数可)</p>

    <form action="ninki_touhyou.php" method="POST">

    <p>

    <input type="checkbox" name="cast[]" value="爺">おじいさん

    <input type="checkbox" name="cast[]" value="婆">おばあさん

    <input type="checkbox" name="cast[]" value="桃">桃太郎

    <input type="checkbox" name="cast[]" value="犬">犬

    <input type="checkbox" name="cast[]" value="猿">猿

    <input type="checkbox" name="cast[]" value="雉">雉

    <input type="checkbox" name="cast[]" value="鬼">鬼

    </p>

    <input type="submit">

    </form>

</body>

</html>


【PHP】ninki_touhyou.php(結果表示用ページ)

<?php

//チェックボックスの値を取得

$cast = $_POST['cast'];

?>

<html>

<head>

<meta carset="UTF-8">

</head>

<body>

    <h1>投票結果</h1>

    <h2>好きなキャラ</h2>

    <ul>

    <?php foreach($cast as $var){ ?>

       // <li><?php echo $var; ?></li>  ←セキュリティ上、よくない。

<li><?php echo htmlspecialchars($var , ENT_QUOTES , 'UTF-8'); ?></li>

    </ul>

    <?php } ?>        

</body>

</html>


【ブラウザ】


【超重要】

クライアント側から渡されるデータは変更することが可能なため、’や”や<や>の文字を無効にする対策をとって、悪意のあるコードをプログラムとして無効にするのが必須⇒htmlspecialchars()というコードを使おう!!

(使用例) echo htmlspecialchars($var , ENT_QUOTES , 'UTF-8');

第一引数 $var =前のページから受け取ったデータ内容

第二引数 ENT_QUOTES = 'シングルクォーテーションや"ダブルクォーテーションが変換される

第三引数 'UTF-8' = 出力時の文字コード

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA