Php 我想为我的计算机科学课做一个骰子游戏
我的目标是使用下拉列表获取用户输入,这样当用户提交他们的“猜测”时,页面将重新加载随机骰子生成器并检查用户是否正确地“猜测”。我把我的代码放在下面,任何帮助都将不胜感激Php 我想为我的计算机科学课做一个骰子游戏,php,html,Php,Html,我的目标是使用下拉列表获取用户输入,这样当用户提交他们的“猜测”时,页面将重新加载随机骰子生成器并检查用户是否正确地“猜测”。我把我的代码放在下面,任何帮助都将不胜感激 <body> <h1>Dice Game!</h1><br> <hr size="2" /> <form name="form1" action="activity-dice-game.php" method="POST">
<body>
<h1>Dice Game!</h1><br>
<hr size="2" />
<form name="form1" action="activity-dice-game.php" method="POST">
<select name="number" class="fancyInput">
<option value="">Choose a Number</option>
<option value="one">1</option>
<option value="two">2</option>
<option value="three">3</option>
<option value="four">4</option>
<option value="five">5</option>
<option value="six">6</option>
</select></br><br><br>
<input type="submit" value="Submit" name="subBtn" class="btn"></input>
</form>
<?php
if ($_POST['subBtn'])
$number = $_POST['number'];
$roll = rand(1, 6);
if ($number == "")
echo "<p class='error'>Choose a Number!</p>";
else if ($number == $roll) {
echo "<p>Good Guess!</p><br>";
echo "<img src=http://bit.do/IcsDice" . $roll . " .\" title=\"dice\">";
} else if ($number != $roll) {
echo "<p>You guessed incorrectly, Too Bad.</p><br>";
echo "<img src=http://bit.do/IcsDice" . $roll . " .\" title=\"dice\">";
}
?>
掷骰子游戏
以下是您的简单解决方案:
<?php
$number = isset($_POST['number']) ? $_POST['number'] : null;
$roll = rand(1, 6);
$message = "";
if (!$number){
$message.= "<p class='error'>Choose a Number!</p>";
}else if($number == $roll){
$message = "<p>Good Guess!</p><br>";
$message.= "<img src='http://bit.do/IcsDice{$roll}' title='dice'>";
}else{
$message = "<p>You guessed incorrectly, Too Bad.</p><br>";
$message.= "<img src='http://bit.do/IcsDice{$roll}' title='dice'>";
}
?>
<html>
<head>
<script type="text/javascript">
function submitGuessForm(sender){
var guessForm = document.forms[0]; //THE FIRST... & ONLY FORM IN THE PAGE...
var selectedOption = sender.options[sender.selectedIndex].value;
if(!selectedOption || selectedOption == ''){
alert("Please, guess a Number to play the game.");
}else{
guessForm.submit();
}
return false;
}
</script>
</head>
<body>
<h1>Dice Game!</h1><br><br>
<hr size="2" /><br><br>
<p class="error-box"><strong><?php echo $message; ?></strong></p>
<!-- SUBMIT FORM TO THE SAME SCRIPT -->
<form name="form1" action="" method="POST"> <!-- activity-dice-game.php -->
<label for="die_choice">
HOW INTUITIVE ARE YOU? GUESS !!!<br />
<select name="number" id="die_choice" class="fancyInput" onchange="submitGuessForm(this);">
<option value="">Choose a Number</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
</label></br><br><br>
<!-- NO NEED FOR THE SUBMIT BUTTON SINCE YOU CAN DIRECTLY SUBMIT THE FORM WHEN AN OPTION IS SELECTED - WITH JAVASCRIPT THOUGH -->
<!-- <input type="submit" value="Submit" name="subBtn" class="btn"></input> -->
</form>
</body>
</html>
你知道如果($roll==$number)你可以做对吗?问题到底是什么?如何做的更有效率?请看@JonStirling评论。此外,如果($\u POST['subBtn'])
没有打开的括号,我尝试了,但没有成功。“没有成功”,确切地说是什么不成功,请显示代码。什么错误消息?你期望的是什么?你得到的是什么?等等。怎么不起作用?发生了什么事?