PHP猜大小游戏POST表单提交无任何返回结果求助
PHP Higher or Lower游戏POST请求无反馈问题
我正在使用PHP开发一款Higher or Lower(猜大小)游戏,目前其余功能均已完成,但遇到了POST请求相关问题。当用户填写完choice、bet、number三个字段并点击“Play”按钮后,页面无任何反馈,不会显示赢/输/平局的提示信息。
以下是完整代码:
<form action="" method="post"> <div id="test-container"> <select class="form-control" id="choice" name="choice"> <option value="">Select 'High' or 'Low'...</option> <option value="1">High</option> <option value="2">Low</option> </select> <br> <? echo "<select class=\"form-control\" id=\"bet\" name=\"bet\">"; echo "<option value=\"\">Please place your bet...</option>"; for($bet = 1; $bet <= 50; $bet++) echo "<option value='$bet'>$bet</option>"; echo "</select>"; ?> <br> <? echo "<select class=\"form-control\" id=\"number\" name=\"number\">"; echo "<option value=\"\">Please select a number...</option>"; for($number = 1; $number <= 100; $number++) echo "<option value='$number'>$number</option>"; echo "</select>"; ?> </div> <br><br><button id="submit" type="submit" type="button" name="play" class="btn btn-primary">Play!</button> <? if(isset($_POST['play'])) { $invalid_choice = 0; $invalid_bet = 0; $invalid_number = 0; $won = 0; $choice = $_POST['choice']; $bet = $_POST['bet']; $number = $_POST['number']; $random_number = rand(1, 100); $rhash = generateRandomString(); if(!$choice) { $invalid_choice = 1; echo "<br><br>" . "<div class=\"alert alert-danger\" role=\"alert\">Please select 'High' or 'Low'</div>"; } else if(!$bet) { $invalid_bet = 1; echo "<br><br>" . "<div class=\"alert alert-danger\" role=\"alert\">Please place your bet.</div>"; } else if(!$number) { $invalid_number = 1; echo "<br><br>" . "<div class=\"alert alert-danger\" role=\"alert\">Please choose a number.</div>"; } else if($bet > $points) { echo "<br><br>" . "<div class=\"alert alert-danger\" role=\"alert\">You need " . $points . " points to select this number.</div>"; } /*else if(isset($_SESSION['lastplay']) && ((time() - $_SESSION['lastplay']) < 60 * 30)) //time in seconds! 60 seconds = 1 Minute and 1 minute * 5 = 5 minutes! { echo "<br><br>" . "<div class=\"alert alert-danger\" role=\"alert\">You can only have a 'High' or 'Low' session every 30 minutes. Please retry later.</div>"; }*/ else if(!$invalid_choice && !$invalid_bet && !$invalid_number) { $_SESSION['lastplay'] = time(); if($choice == 1) //User selected high { if($number > $random_number) //Won { $_SESSION['lastplay'] = time(); $calcreward = $bet * 2; $won = 1; $query = $con->prepare('UPDATE *** SET *** = ***+? WHERE *** = ?'); $query->bind_param("ii", $calcreward, $uid); $query->execute(); $query->close(); $won_msg = "<br><br>" . " <div class=\"alert alert-success\" role=\"alert\">YOU WON! <br> Your chosen number was ".$number.", meanwhile the lower number was ".$random_number.". <br>Your bet of ".$bet." has been doubled! Total win: ".$calcreward." </div>"; } else if($number == $random_number) //Draw { $query = $con->prepare('UPDATE *** SET *** = ***-? WHERE *** = ?'); $query->bind_param("ii", $bet, $uid); $query->execute(); $query->close(); $draw_msg = "<br><br>" . " <div class=\"alert alert-info\" role=\"alert\">DRAW! <br> Your chosen number (".$number.") is the same as system number (".$random_number.").</div>"; } } else if($choice == 2) //User selected low { if($number < $random_number) //Lost { $query = $con->prepare('UPDATE *** SET *** = ***-? WHERE *** = ?'); $query->bind_param("ii", $bet, $uid); $query->execute(); $query->close(); $lost_msg = "<br><br>" . " <div class=\"alert alert-danger\" role=\"alert\">You lost :( <br> Your chosen number was ".$number.", meanwhile the higher number was ".$random_number.".</div>"; $_SESSION['lastplay'] = time(); } else if($number == $random_number) //Draw { $query = $con->prepare('UPDATE *** SET *** = ***-? WHERE *** = ?'); $query->bind_param("ii", $bet, $uid); $query->execute(); $query->close(); $draw_msg = "<br><br>" . " <div class=\"alert alert-info\" role=\"alert\">DRAW! <br> Your chosen number (".$number.") is the same as system number (".$random_number.").</div>"; } } if($won) { $stmt = $con->prepare('INSERT INTO QUERY'); $username = $uname; $wallet = $walt; $hash = $rhash; $usrnr = $number; $fnlnumbr = $random_number; $betamm = $bet; $reward = $calcreward; $stmt->bind_param("ssiiiis", $username, $wallet, $usrnr, $fnlnumbr, $betamm, $reward, $hash); $stmt->execute(); } else { $stmt = $con->prepare('INSERT INTO QUERY'); $username = $uname; $wallet = $walt; $hash = $rhash; $usrnr = $number; $fnlnumbr = $random_number; $betamm = $bet; $stmt->bind_param("ssiiis", $username, $wallet, $usrnr, $fnlnumbr, $betamm, $hash); $stmt->execute(); } } } ?> </form>
我已尝试各种方法,检查过变量等内容,但问题仍未解决。
内容的提问来源于stack exchange,提问作者JasonDeRue
相关产品推荐
相关产品推荐

