新人に向けた超簡単な初心者向け問題に行ってみたいと思います。
GET、POSTなど、初心者にもわかる問題を出していきます。
簡単なので、是非挑戦してください。
PHPをWindowsで実行したいのであれば、XAMPP(ザンプ)をインストールすると、自分のPCでも簡単に動作させることが出来ます。
インストール方法は、以下のサイトから。
WINDOWS XAMPP にて LARAVEL をインストール (XAMPP V1.8.3インストール)
phpedu74.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <!DOCTYPE html> <html> <head> <meta charset= "utf-8" > <meta http-equiv= "X-UA-Compatible" content= "IE=edge" > <meta name= "viewport" content= "width=device-width, initial-scale=1.0" > <title>tech.pjin.jp HTML5 Template</title> <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" > <link rel= "stylesheet" href= "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" > <!--[ if lt IE 9]> <![ endif ]--> </head> <body> <div class = "container" > <div class = "page-header" > <h1><i class = "fa fa-check-square" ></i> PHP問題74</h1> </div> <div class = "jumbotron" > <?= htmlspecialchars(implode( ',' , @ $_POST [ 'fruit' ])) ?>が選択されました。 </div> <form action= "<?= $_SERVER['PHP_SELF'] ?>" method= "POST" > <div class = "row" > <div class = "col-sm-offset-3 col-sm-6" > <div class = "form-group" > <label>好きな果物</label> <div class = "checkbox" ><label><input type= "checkbox" name= "fruit[]" value= "1" >リンゴ</label></div> <div class = "checkbox" ><label><input type= "checkbox" name= "fruit[]" value= "2" >みかん</label></div> <div class = "checkbox" ><label><input type= "checkbox" name= "fruit[]" value= "3" >バナナ</label></div> <div class = "checkbox" ><label><input type= "checkbox" name= "fruit[]" value= "4" >パイナップル</label></div> </div> <button type= "submit" class = "btn btn-primary" >送信</a> </div> </div> </form> </div> </body> </html> |
※CSSには、Bootstrap、Font-Awesomeを利用しています。
※Javascriptには、jQuery1.11.3を利用しています。
問題:画面を表示し、選択欄のみかん、バナナを選択後、送信ボタンを押下しました。画面に表示される内容はどれか選択して下さい。(複数選択可)
- バナナが選択されました。
- みかんが選択されました。
- みかん、バナナが選択されました。
- 2が選択されました。
- 3が選択されました。
- 2,3が選択されました。
正解:6.2,3が選択されました。
今回もPOSTの問題です。
さて、checkboxの問題です。
inputタグのなかで、色々あるのですが、checkboxは難儀なところが多いです。
選択値を同じ名前で複数送り付けることが出来ます。
さてサーバサイドではどう受け取るかというと、配列で取得します。
ですので、name="fruit[]"
と書かれています。
これをよく忘れて、取れない!ってことになります。
radioの時は、キー(name属性)に対して、値(value属性)がついになっているので良いのですが、
checkboxは、キーに対して、値が複数あります。
ですので、表示部分も、implodeを利用し、カンマ区切りで表示しています。
キーが重複するのは、クエリーパラメータでも同様です。
?key[]=A&key[]=B&key[]=Cと送信すると、keyに対して値が3つ存在します。
?key=A&key=B&key=Cと送信した場合、$_GET[‘key’]の値を見てみると、最後のCという値になっています。
複数の値を、同一キーで送る場合は、キーに[]を付けることと、つけ忘れると最後の値になることが注意事項です。
何度か試すと覚えるのですが、使わなくなると忘れます。(私も忘れています。。。たまに思い出しますが)

PHP練習問題 問80

PHP練習問題 問79

PHP練習問題 問78

PHP練習問題 問77

PHP練習問題 問76

PHP練習問題 問75

PHP練習問題 問74

PHP練習問題 問73

PHP練習問題 問72
