如何在PHP中执行第二个函数而不影响第一个函数?
正如标题所说,我希望在执行第一个函数之后执行第二个函数。换句话说,如果用户单击“绘制第一个数字”按钮,将显示1-10之间的随机数以及“绘制第二个数字”按钮,然后如果用户单击“绘制第二个数字”按钮,将显示1-10之间的另一个随机数 我尝试了以下代码,但当我单击“绘制第二个数字”按钮时,它会将我返回到流程的开始如何在PHP中执行第二个函数而不影响第一个函数?,php,Php,正如标题所说,我希望在执行第一个函数之后执行第二个函数。换句话说,如果用户单击“绘制第一个数字”按钮,将显示1-10之间的随机数以及“绘制第二个数字”按钮,然后如果用户单击“绘制第二个数字”按钮,将显示1-10之间的另一个随机数 我尝试了以下代码,但当我单击“绘制第二个数字”按钮时,它会将我返回到流程的开始 <?php if (isset($_POST['firstnumber'])) { function roll () { return mt_rand(1
<?php
if (isset($_POST['firstnumber'])) {
function roll () {
return mt_rand(1,10);
}
echo 'First Number: '.roll().'<form method="post"><input type="submit" value="Draw second number" name="secondnumber"></form>';
if (isset($_POST['secondnumber'])) {
echo 'Second Number: '.roll();
}
}
?>
<form method="post">
<input type="submit" value="Draw first number" name="firstnumber">
</form>
我希望在单击“第二个数字”按钮时,代码会显示第二个数字,而不是初始代码。在文件的开头,检查以下条件
<?php if (isset($_POST['firstnumber'])) {
嗨,欢迎来到SO!你的代码的目的是什么?(听起来在javascript中这样做会更好)但不管怎样,您都不必定义函数roll()两次。感谢您的代码,它完全符合我的要求。我想补充一点:当我点击“绘制第二个数字”时,是否也可以显示“第一个数字”?例如,单击“绘制第一个数字”,第一个数字显示为7。然后单击“绘制第二个数字”,7再次显示第二个数字。是的,当然可以。但由于“第一个号码”没有保存在任何地方,所以在生成第二个号码时无法访问它。有几种方法可以保存第一个数字:将其保存在会话()中,将其设置为隐藏字段的值,甚至将其保存在数据库中。尝试你喜欢的,因为它只是为了学习
<?php
function roll() {
return mt_rand(1,10);
}
if (isset($_POST['firstnumber']) === true || isset($_POST['secondnumber']) === true) {
if (isset($_POST['firstnumber'])) {
echo 'First Number: ' . roll() . '<form method="post"><input type="submit" value="Draw second number" name="secondnumber"></form>';
}
if (isset($_POST['secondnumber'])) {
$secondNumber = roll();
}
}
?>
<form method="post">
<input type="submit" value="Draw first number" name="firstnumber">
</form>