前提・実現したいこと
php初心者です。
現在以下の課題に取り組んでいます。
じゃんけん勝負ができるプログラムを作成してください。ラジオボタンから選択した値(グー or チョキ or パー)をPOSTで送信し、ユーザと相手(コンピュータ)が選んだ手とじゃんけんの勝敗を表示してください。
ラジオを選択して勝負ボタンを押しても表示されないため、表示させれるようにしたいです。、
phpのコードを書くにあたってのコツなどもございましたら、
一緒に教えていただけると幸いです。
宜しくお願いします。
発生している問題・エラーメッセージ
選択してボタンを押しても表示されない。
該当のソースコード
php
1<?php 2$janken = array(); 3$choice = ''; 4$com = ''; 5$result = ''; 6 7if (isset($_post['choice']) === TRUE) { 8 $janken = array('グー','チョキ','パー'); 9 $choice = htmlspecialchars($_POST['choice'], ENT_QUOTES, 'UTF-8'); 10 $com = $janken[array_rand($janken)]; 11 12 if ($choice === 'グー' && $com === 'チョキ') { 13 $result = '勝ち'; 14 } elseif ($choice === 'グー' && $com === 'グー') { 15 $result = 'あいこ'; 16 } elseif ($choice === 'グー' && $com === 'パー') { 17 $result = '負け'; 18 } elseif ($choice === 'チョキ' && $com === 'グー') { 19 $result = '負け'; 20 21 } elseif ($choice === 'チョキ' && $com === 'チョキ') { 22 $result = 'あいこ'; 23 } elseif ($choice === 'チョキ' && $com === 'パー') { 24 $result = '勝ち'; 25 } elseif ($choice === 'パー' && $com === 'グー') { 26 $result = '勝ち'; 27 } elseif ($choice === 'パー' && $com === 'チョキ') { 28 $result = '負け'; 29 } elseif ($choice === 'パー' && $com === 'パー') { 30 $result = 'あいこ'; 31 } 32} 33?> 34 35<!DOCTYPE html> 36<html lang="ja"> 37<head> 38 <meta charset="UTF-8"> 39 <title>課題</title> 40</head> 41<body> 42 <h2>じゃんけん勝負</h2> 43 <p>自分:<?php print $choice; ?></p> 44 <p>相手: 45 <?php if($com !== ''): ?> 46 <?php print $com; ?> 47 <?php endif; ?> 48 </p> 49 <p>結果:<?php print $result; ?></p> 50 <form method = "post"> 51 グー 52 <input type="radio" name="choice" value="グー"> 53 チョキ 54 <input type="radio" name="choice" value="チョキ"> 55 パー 56 <input type="radio" name="choice" value="パー"> 57 <input type="submit" value="勝負"> 58 </form> 59</body>
試したこと
セミコロンの確認
スペルの確認
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。