Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的掷骰子程序_Php_Html - Fatal编程技术网

PHP中的掷骰子程序

PHP中的掷骰子程序,php,html,Php,Html,我制作了一个简单的程序,用户必须猜测虚拟骰子掷出的值 以下是HTML和PHP: <body> <h2 id="heading"> We're gonna roll a dice! <br><small>And you have to guess which number the dice will roll.</small></h2> <form action="" method="post"> <div

我制作了一个简单的程序,用户必须猜测虚拟骰子掷出的值

以下是HTML和PHP:

<body>
<h2 id="heading"> We're gonna roll a dice! <br><small>And you have to guess which number the dice will roll.</small></h2>
<form action="" method="post">
<div id="test-container">
    <p>Select your guess: </p>
    <select class="form-control" id="select" name="dice">
        <option value="">Select...</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>
</div>
<button id="submit" type="submit" type="button" name="roll" class="btn btn-primary">Roll!</button>
<?php
if(isset($_POST['roll']))
{
$dice = $_POST['dice'];
$rand = rand(1,6);
if($dice == $rand)
{
    echo "<br>" . "your guess is correct! The number rolled by the dice was " . $rand . "!";
}
else{
    echo "<br>" . "your guess is wrong! The number rolled by the dice was " . $rand . " but the number you entered was " . $dice . "!";
}

}

?>
</form>
</body>
</html>

我们要掷骰子<你必须猜出掷骰子的数字。
选择您的猜测:

选择。。。 1. 2. 3. 4. 5. 6. 滚!
代码本身是有效的,但这不是问题所在当我按submit时,我希望出现以下gif(位于按钮和回音输出之间),并且只播放一次而不循环播放

我尝试了很多方法,但似乎没有一种有效


我知道我需要一个图像编辑器来防止它永远循环。至于显示它,语法是
echo”“
,正如我刚刚发现的那样。

在掷骰子之后,您是否尝试过将$\u POST[roll]的值设置为null。在我看来,只要单击按钮,并且您没有“重新初始化”它本身,该值就始终保持为真

if(isset($_POST['roll'])) {
// all that you need to do

// as the last line or something like this
$_POST['roll'] = null;
}
因为,通常在提交表单时,表单数据或提交状态会重置,会话值也会重置


如果上述方法不起作用,您也可以尝试使用表单/输入类型=提交设置。通过jquery/js可以更轻松地驱动按钮点击。

在图像编辑软件中编辑GIF,并使GIF不可循环。由于每次提交时都会重新加载页面,因此应该可以正常工作。您能推荐一款好的图像编辑软件来完成此操作吗@AlescyYou可以在HTML中放置图像,用CSS隐藏图像,当表单提交时(提交事件时),可以取消隐藏。我唯一不确定的是,当图像出现时,动画是否已经完成。如果是这样,那么您必须使用JavaScript将图像动态添加到HTML中。我个人只知道GIMP,所以我推荐它。在编辑过程中,请注意处理引号的方式是不正确的(您在
handroll.gif
之前结束字符串。因此您需要转义内部引号:`\"“或者用单引号替换两个答案中的任何一个。这个答案没有真正起作用,我实际上在评论部分得到了答案。但是不管怎样,如果是那样的话,请添加答案并将其标记为正确答案,因为这可能会误导其他人,他们可能会浪费时间尝试这种方法。谢谢你的观点,但我会如果我有足够的信用,我会把它写下来作为一个评论。我并不是真的想把它作为一个答案,而是一个建议。