gpt4 book ai didi

php - 如何从 html 插入 select/option 并从 SQL 表中的 array_rand 插入变量

转载 作者:行者123 更新时间:2023-11-29 18:01:55 25 4
gpt4 key购买 nike

我正在尝试构建一个简单的石头剪刀布游戏。我正在使用 XAMPP 堆栈。我已经成功检索了用户对石头、剪刀、布的选择并将其插入到表中。我还通过使用 array_rand 成功生成了随机“对手的选择”,但我无法同时将此变量/整数插入表中。我曾经能够插入“对手的选择”,但从来没有插入过用户的选择,它总是其中之一。而且,我认为我会将这两个选择转换为整数,然后使用 if/else 语句来确定每个游戏的获胜者,但正如我测试的那样,它似乎并不总是产生正确的答案。我认为可能有一些不必要的代码,例如我在那里的 var_dump,因此我可以看到我已成功将选择转换为整数,以便我可以比较这些选择,以便从逻辑上确定获胜者。感谢您的帮助。

<html> 

<body>

<p> Make your move! Choose:</p>
<p> Paper, Rock, or Scissors</p>
<form action="rps.php" method="post" id="playform">


<select name="playermove" id="quantity">
<option value="1" selected="selected">Rock</option>
<option value="2">Paper</option>
<option value="3">Scissors</option>
</select>
</form>

<button type="submit" form="playform" value="submit">1, 2, 3....GO!
</button>
</body>
</html>
<?php
require 'connection.php';

$conn = Connect();
$pmove = $conn->real_escape_string($_POST['playermove']);
$omove = $conn->(['oppmove']);


$query = "INSERT into rpstwo.tb_rps2 (playermove) VALUES ('" . $pmove .
"')";

$success = $conn->query($query);

if (!$success) {
die("Couldn't enter data: ".$conn->error);
}

$yourvar = intval($pmove);
echo "You chose: " . $yourvar . "<br>";
var_dump($yourvar);
echo "<br>";

$oppdecision = array('rock', 'paper', 'scissors');
$oppresult = array_rand($oppdecision, 1);
echo "Your opponent chose: " . $oppresult . "<br>";
$oppsmove = $oppdecision[$oppresult];
echo $oppsmove . "<br>";

$oppvar = intval($oppresult);

var_dump($oppvar);


$sql = "INSERT into rpstwo.tb_rps2 (oppmove) VALUES ('" . $omove .
"')";
$success = $conn->query($sql);

if ($yourvar = 1 & $oppvar = 0) {
echo '<br>' . "you tie";
} elseif ($yourvar = 1 & $oppvar = 1) {
echo '<br>' . "you lose";
} elseif ($yourvar = 1 & $oppvar = 2) {
echo '<br>' . "you win";
} else {
echo '<br>' . "Good game!";
}

$conn->close();
?>

最佳答案

下面的代码修复了您向数据库的发布。它不能解决赢/输/平局可能性的问题。您还应该知道您的代码为玩家移动发布了一个整数,为对手移动发布了一个文本(石头、布、剪刀)。您有两个 Insert 语句将导致每个游戏创建 2 个单独的行。

$pmove   = $_POST['playermove'];

$yourvar = intval($pmove);
echo "You chose: " . $yourvar . "<br>";
echo "<br>";

$oppdecision = array('rock', 'paper', 'scissors');
$oppresult = array_rand($oppdecision, 1);
echo "Your opponent chose: " . $oppresult . "<br>";
$oppsmove = $oppdecision[$oppresult];
echo $oppsmove . "<br>";

$oppvar = intval($oppresult);


$sql = "INSERT into tb_rps2 (oppmove,playermove) VALUES ('$oppresult','$pmove')";
$success = $conn->query($sql);

if ($yourvar = 1 & $oppvar = 0) {
echo '<br>' . "you tie";
} elseif ($yourvar = 1 & $oppvar = 1) {
echo '<br>' . "you lose";
} elseif ($yourvar = 1 & $oppvar = 2) {
echo '<br>' . "you win";
} else {
echo '<br>' . "Good game!";
}

$conn->close();

关于php - 如何从 html 插入 select/option 并从 SQL 表中的 array_rand 插入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48256496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com