0

我在添加从 HTML 表单中提取的数字时遇到了一些问题。我知道这是一个非常基本的问题,但似乎没有任何效果。我正在尝试在诸如拼字游戏之类的心理游戏中将用户的分数相加。该代码应该获取输入的分数和旧分数并将它们相加,尽管我还没有添加添加数字的部分。我在哪里以及如何在代码中显示添加的分数?您可以在以下位置访问 Web 应用程序:ripdvd.x10.mx/index.php。感谢 Michi 已经尝试帮助我解决这个问题!

<?php
// Get data from HTML form.
$addScore1 = $_POST['addScore1'];
$addScore2 = $_POST['addScore2'];
$oldScore1 = $_POST['oldScore1'];
$oldScore2 = $_POST['oldScore2'];


?>

// Generate HTML form
<html>
    <head>
         <title>Score Add</title>
    </head>

    <body>
        <div id="displayNames">   
            <p><?php echo $player1; ?> current score: <?php echo $oldScore1; ?>
            <form method="post" action="">
                <label for="addScore1">Enter your score:</label>
                <input type="text" name="addScore1" id="addScore1" />
                <input type="hidden" name="oldScore1" id="oldScore1" value="<?php echo $oldscore1; ?>" />
            <input type="submit" />
        </p>

        <p><?php echo $player2; ?> current score: <?php echo $oldScore2; ?>
            <label for="addScore2">Enter your score:</label>
            <input type="text" name="addScore2" id="addScore2" />
            <input type="hidden" name="oldScore2" id="oldScore2" value="<?php echo $oldscore2; ?>" />
                <input type=\"submit\"/>
            </form>
             </p>
        </div>
    </body>
</html>
4

4 回答 4

0

改变

<input type="text" name="addScore1" id="addScore1" />

<input type="text" name="addScore1" id="addScore1" value="<?php echo $addScore1; ?>" />

<input type="text" name="addScore2" id="addScore2" />

<input type="text" name="addScore2" id="addScore2" value="<?php echo $addScore2; ?>" />

那是你需要的吗?

于 2013-03-04T22:53:23.020 回答
0

例如,您可以在要显示所有分数变量总和的位置添加以下代码:

<?php
echo intval($addScore1)+intval($addScore2)+intval($oldScore1)+intval($oldScore2);
?>
于 2013-03-04T22:59:48.210 回答
0
<?php
// Get data from HTML form. 
$addScore1 = $_POST['addScore1'];
$addScore2 = $_POST['addScore2'];
$oldScore1 = $_POST['oldScore1'];
$oldScore2 = $_POST['oldScore2'];

$newScore1 = (int) $oldScore1 + (int) $addScore1;
$newScore2 = (int) $oldScore2 + (int) $addScore2;
?>
<h2>Old Sores</h2>
<p>
<input type="text" value="<?=$oldScore1?>" name="oldScore1">
<input type="text" value="<?=$oldScore2?>" name="oldScore2">
</p>
<h2>New Sores</h2>
<p>
<input type="text" value="<?=$newScore1 ?>" name="newScore1">
<input type="text" value="<?=$newScore1 ?>" name="newScore1">
</p>

这是你需要的吗?

更新: 试试这个代码:刚刚测试过它可以用作计算器 :) 希望这就是你所需要的。

<?php
// Get data from HTML form. 
$addScore1 = (int) $_POST['addScore1'];
$addScore2 = (int) $_POST['addScore2'];

$oldScore1 = (int) $_POST['newScore1'];
$oldScore2 = (int) $_POST['newScore2'];

$newScore1 = (int) $oldScore1 + (int) $addScore1;
$newScore2 = (int) $oldScore2 + (int) $addScore2;

?>
<html>
    <head>
         <title>Score Add</title>
    </head>

    <body>  
        <form method="post" action="">
        <h2>Old Scores</h2>
        <p>
        <input type="text" value="<?=$oldScore1?>" name="oldScore1">
        <input type="text" value="<?=$oldScore2?>" name="oldScore2">
        </p>
        <h2>New Scores</h2>
        <p>
        <input type="text" value="<?=$newScore1 ?>" name="newScore1">
        <input type="text" value="<?=$newScore2 ?>" name="newScore2">
        </p>
        <h2>Add Scores</h2>
        <p>
        <input type="text" value="" name="addScore1">
        <input type="text" value="" name="addScore2">
        </p>
        <input type="submit" /> 
        </form>
    </body>
</html> 
于 2013-03-04T23:05:59.057 回答
0

使用 cookie 在 post 调用之间保持值的简单解决方案:

<?php
// Get data from HTML form.
$addScore1 = $_POST['addScore1'];
$addScore2 = $_POST['addScore2'];
$curr1=$_COOKIE["score1"]+$addScore1;
$curr2=$_COOKIE["score2"]+$addScore2;
setcookie("score1", $_COOKIE["score1"]+$addScore1, time()+3600);
setcookie("score2", $_COOKIE["score2"]+$addScore2, time()+3600);


?>

// Generate HTML form

<body>
    <div id="displayNames">   
        <p><?php echo $player1; ?> current score: <?php echo $oldScore1; ?>
        <form method="post" action="messing.php">
            <label for="addScore1">Enter your score:</label>
            <input type="text" name="addScore1" id="addScore1" />
            <input type="hidden" name="oldScore1" id="oldScore1" value="<?php echo $oldscore1; ?>" />
        <input type="submit" />
    </p>

    <p><?php echo $player2; ?> current score: <?php echo $oldScore2; ?>
        <label for="addScore2">Enter your score:</label>
        <input type="text" name="addScore2" id="addScore2" />
        <input type="hidden" name="oldScore2" id="oldScore2" value="<?php echo $oldscore2; ?>" />
            <input type="submit"/>
        </form>
         </p>
    </div>

    <p>first added score <?php echo $curr1?></p>
    <p>second added score <?php echo $curr2?></p>
</body>

于 2013-03-04T23:18:14.667 回答