使用PHP更新TextBox值

时间:2014-07-09 18:56:48

标签: php html5

在我开始之前,让我说我本周才开始使用php,所以我还在搞清楚。我正在做的是虚拟老虎机。

我想要做的是设置用户所拥有的积分的初始值为1000,然后如果他们输了则将积分从积分中扣除,或者如果他们赢了则将积分加到他们的积分中。我只对如何扣除学分感兴趣,因为我确信一旦我理解了这一点,我就可以自己做这个。

这可以使用stritctly PHP完成,还是我需要合并Javascript?

<!DOCTYPE html>
 <html>
 <head>
    <meta charset="UTF-8">
    <title>Virtual Slot Machine</title>
    <link href="slots.css" rel="stylesheet" type="text/css">
 </head>
 <body>
    <h1>Virtual Slot Machine</hi>

    <form id="slots" method="post">
     <label>Name:</label><input type="text" name="name" id="name">
     <label>Bet:</label><input type="text" id="bet" name="bet" value="100">
     <label>Credits:</label><input type="text" name="credit" readonly="true" value="1000">       
     <input type='submit' value='Spin the wheel' />
    </form>


<?php

isset($_POST["credit"]) ? $credit = $_POST["credit"] : $credit = "";
isset($_POST["bet"]) ? $bet = $_POST["bet"] : $bet = "";
$credit=$credit-$bet;
$faces = array (
'<img src="images/fruit1.png">',
'<img src="images/fruit2.png">',
  );

$wheel1=rand(0,1);
$wheel2=rand(0,1);
$wheel3=rand(0,1);

$result1=$faces[$wheel1];
$result2=$faces[$wheel2];
$result3=$faces[$wheel3];

echo $result1 . ' ' . $result2 . ' ' . $result3 . "<br />";

?>
</html>

2 个答案:

答案 0 :(得分:0)

试试这个。

如果您考虑事情是如何运行的,即脚本从第1行开始并逐步完成,如果$中不存在值,您可以设置$credit$bet的初始值。 _POST即它们第一次运行此脚本。

然后你需要知道的是,你几乎可以在文件的任何地方添加php代码 <?php ... ?>因此,您可以使用value="<?php echo $bet;?>"代替设置值=“1000”,以便在完成后使用$bet$credit的当前值。

<?php

$credit = isset($_POST["credit"]) ? $_POST["credit"] : 1000;
$bet    = isset($_POST["bet"]) ? $_POST["bet"] : 100;
if ( isset($_POST["credit"]) ) {
    $credit -= $bet;
}

$faces = array (
'<img src="images/fruit1.png">',
'<img src="images/fruit2.png">',
  );

$wheel1=rand(0,1);
$wheel2=rand(0,1);
$wheel3=rand(0,1);

$result1=$faces[$wheel1];
$result2=$faces[$wheel2];
$result3=$faces[$wheel3];

?>
<!DOCTYPE html>
 <html>
 <head>
    <meta charset="UTF-8">
    <title>Virtual Slot Machine</title>
    <link href="slots.css" rel="stylesheet" type="text/css">
 </head>
 <body>
    <h1>Virtual Slot Machine</hi>

    <form id="slots" method="post">
     <label>Name:</label><input type="text" name="name" id="name">
     <label>Bet:</label><input type="text" id="bet" name="bet" value="<?php echo $bet;?>">
     <label>Credits:</label>
         <input type="text" name="credit" readonly="true" value="<?php echo $credit;?>">       
     <input type='submit' value='Spin the wheel' />
    </form>

<?php 
     echo $result1 . ' ' . $result2 . ' ' . $result3 . "<br />";
?>

</html>

答案 1 :(得分:0)

您可以在PHP会话中存储积分数,以便在请求之间记住该号码。

<?php
session_start();

if (!isset($_SESSION['credits'])) {
    $_SESSION['credits'] = 1000;
}

if (isset($_POST['bet'])) {
    $_SESSION['credits'] -= (int) $_POST['bet'];
}

?>

...
<label>Credits:</label><input type="text" name="credit" readonly="true" value="<?php echo $_SESSION['credits']; ?>">
...

这样,您就不需要继续回发积分数。