簡體   English   中英

使用按鈕計算PHP中的值

[英]Calculating values in PHP with buttons

我正在用PHP創建一個計算器,我應該具有HTML的這種結構,其中我的數字是可單擊的按鈕,並且第一次單擊的數字將是第一個值,而我單擊的第二個數字將是第二個值。 我不知道它會如何工作,可能嗎? 如果是這樣,這是我的代碼

<html>
    <head>
        <title>Calculator</title>
    </head>
        <body>
            <div id = "structure">
            <?php
                if(isset($_GET)){
                    $value += $_GET;
                }
            ?>
                <form method = "GET " action = "calculator.php">
                    <input type = "submit" name = "one" value = 1>
                    <input type = "submit" name = "two" value = 2>
                    <input type = "submit" name = "three" value = 3>
                    <input type = "submit" name = "operand" value = "+">
                    </br>
                    <input type = "submit" name = "four" value = 4>
                    <input type = "submit" name = "five" value = 5>
                    <input type = "submit" name = "six" value = 6>
                    <input type = "submit" name = "operand" value = "-">
                    </br>
                </form>
            </div>
        </body>
</html>

我沒有將所有數字都放在計算器中用於發布目的

正如其他人提到的那樣,最好的方法是使用客戶端編碼(Javascript)。 但是,如果必須編寫PHP代碼,則需要提交兩次表單。 第一次,將輸入變量(第一個數字)放在表單的隱藏輸入元素中,並再次使用額外的隱藏輸入元素再次打印html。 第二次,查找該隱藏的輸入值:如果存在,則表示新輸入是第二個數字,隱藏輸入是第一個數字。 獲取隱藏輸入的值,獲取新數字,將它們加在一起並顯示結果。 確保重置隱藏的輸入值。

由於這是一本書的練習,並且重點是您編寫代碼,因此我不會為您提供任何代碼。 但是,我可以為您指明正確的方向(或至少其中之一)。

考慮使用可以隨每個請求發送的某種值,該值存儲所有操作的當前累積值。 這可能應該顯示在某個地方,也應該放置在PHP可以在表單提交時讀取的字段中(提示:您是否聽說過隱藏的輸入類型?)。 您將如何跟蹤上一次操作? 也許您可以使用這些字段中的另一個來存儲操作,直到按下另一個按鈕為止。

您可以使用什么代碼檢查表單是否已提交? 如何檢查按下了哪個按鈕。 如果按+將設置哪些值? 如果按號碼怎么辦? 如果連續輸入多個數字怎么辦?

還有更多需要考慮的事情:嘗試使用真正的計算器。 什么時候顯示結果? 使用什么操作順序? 每個操作都有左手側和右手側。 連續按下多個數字會發生什么。 小數呢? 是否應該有一個清除按鈕?

您將需要一種跟蹤先前輸入的方法。 每次您單擊按鈕時,帶有該信息(在$_GET )的請求都會發送到服務器,但是舊輸入不再可用。 幾種方法:

隱藏的表單元素

每次用戶單擊時,您都會讀取該值並將其以隱藏的表單元素輸出回頁面中。 每次您必須使用$_GET現有方法讀取隱藏元素的值時,找出需要做的數學運算,然后將舊內容和新內容再次保存到隱藏元素中以供下一次輸入。

有關示例,請參見此頁面

餅干

您可以使用setcookie設置具有用戶輸入值的cookie。 每次用戶單擊按鈕時,您都希望從cookie中加載值並附加當前輸入。 當用戶單擊=按鈕時,您將加載cookie數據並解析該表達式。 您可以更輕松地將表達式的各個部分存儲在cookie中某種分隔字符串中,這樣就可以得到operand,operator,operand ,然后可以輕松地計算結果。 點擊清除按鈕將清除cookie的值。

這個tizag教程是您要使用Cookie的一個很好的例子。

Java腳本

顯然是最簡單的方法。 由於將保持狀態,因此您不需要來回傳遞值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM