progateのphp1学習コースをやっています。
課題内容はお問い合わせフォームを作ることを目指したものです。
繰り返し処理と変数展開を用いて多数のoptionタグを作る課題です。
年齢のselectタグで囲まれているoptionタグに, for文を利用して 変数展開するところで理解できない部分があるので解説してほしいです。
〜その部分〜
変数展開を用いる際はダブルクォーテーションで囲むことは理解しています。
ただ、"{$i}"がhtmlでの本来の形だから、これでいいと思うのですが、正解は'{$i}'です。なぜダメのかわからないです。
調べて見ましたが、理解できる答えが見つかりませんでした。リンク内容
教えてください。
php
1コード 2<div class="form-item">年齢</div> 3 <select name="age"> 4 <option value="未選択">選択してください</option> 5 <!-- for文を用いて6歳から100歳までをoptionで選べるようにしましょう --> 6 <?php 7 for($i=6;$<=100;$i++){ 8 echo "<option value="{$i}">{$i}</option>"; 9 } 10 ?> 11 </select>
html
1コード 2<!DOCTYPE html> 3<html> 4<head> 5 <meta charset="utf-8"> 6 <title>Progate</title> 7 <link rel="stylesheet" type="text/css" href="stylesheet.css"> 8</head> 9<body> 10 <div class="header"> 11 <div class="header-left">Progate</div> 12 <div class="header-right"> 13 <ul> 14 <li>会社概要</li> 15 <li>採用</li> 16 <li class="selected">お問い合わせ</li> 17 </ul> 18 </div> 19 </div> 20 21 <div class="main"> 22 <div class="contact-form"> 23 <div class="form-title">お問い合わせ</div> 24 <form method="post" action="sent.php"> 25 <div class="form-item">名前</div> 26 <input type="text" name="name"> 27 28 <div class="form-item">年齢</div> 29 <select name="age"> 30 <option value="未選択">選択してください</option> 31 <!-- for文を用いて6歳から100歳までをoptionで選べるようにしましょう --> 32 <?php 33 for($i=6;$<=100;$i++){ 34 echo "<option value="{$i}">{$i}</option>"; 35 } 36 ?> 37 </select> 38 39 <div class="form-item">お問い合わせの種類</div> 40 <?php 41 $types = array('Progateに関するお問い合わせ', 'Progateに対する意見', '採用に関するお問い合わせ', '取材・メディア関連のお問い合わせ', '料金に関するお問い合わせ', 'その他'); 42 ?> 43 <!-- この下にselectタグを書いていきましょう --> 44 45 46 <div class="form-item">内容</div> 47 <textarea name="body"></textarea> 48 49 <input type="submit" value="送信"> 50 </form> 51 </div> 52 </div> 53 54 <div class="footer"> 55 <div class="footer-left"> 56 <ul> 57 <li>会社概要</li> 58 <li>採用</li> 59 <li>お問い合わせ</li> 60 </ul> 61 </div> 62 <div class="like-box"> 63 <iframe src="https://www.facebook.com/plugins/likebox.php?href=https%3A%2F%2Fwww.facebook.com%2Fpages%2FProgate%2F742679992421539&show_faces=false" scrolling="no" frameborder="0" style="border:none; overflow:hidden; height:300px;" allowTransparency="true"></iframe> 64 </div> 65 </div> 66</body> 67</html>
追記
〜回答を得て〜
エスケープを初めて知った。
調べて見た。¥でエスケープもできるんだと知った。
そういうエスケープ処理を自動化してくれる関数も新たに知った。以下
addslashes関数やvar_export関数
また、変数に代入する時点で”と’を使っておけばいいということも知った。
エスケープシーケンスと変数を展開してくれるヒアドキュメント、その逆で展開されないNowdoc(Newdoc)も知った。
リンク内容
リンク内容
リンク内容
リンク内容
リンク内容

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/09 05:41
2019/06/09 05:52