2013-03-13 10:46:58Morris

[PHP][作業] 使用 $_GET 跳轉同檔案










功能要求很簡單,如圖示輸入兩個數字,然後仍然在同一個檔案.php 中運作。

結果如下圖。

此次要點,了解 $_GET[] 與 $_POST[] 的差別。
使用 function 運作,了解 .php 流程,基礎語法練習。




<html>
    <head>
        <title></title>
    </head>
    <body>
        <form method="GET" action="hw1.php">
            <?php
                if($_GET['xx'] == null) {
                    echo '<input type="text" name="num1">第一個數字<br>';
                    echo '<input type="text" name="num2">第二個數字<br>';
                    echo '<input name="xx" type="submit" value="Submit"/>';
                    echo '<input type="reset" value="Clear"/>';
                }
                if($_GET['num1'] != null && $_GET['num2'] != null) {
                    echo '輸入第一個數值是'.$_GET['num1']."<br>";
                    echo '輸入第二個數值是'.$_GET['num2']."<br>";
                    
                    echo '<br>';
                    echo '不分大小的運算結果是<br>';
                    echo '相加的結果是';
                    function add() {
                        return $_GET['num1'] + $_GET['num2'];
                    }
                    function subtract() {
                        return $_GET['num1'] - $_GET['num2'];
                    }
                    function multiply() {
                        return $_GET['num1'] * $_GET['num2'];
                    }
                    function divide() {
                        return $_GET['num1'] / $_GET['num2'];
                    }
                    echo add().'<br>';
                    echo '相減的結果是';
                    echo subtract().'<br>';
                    echo '相乘的結果是';
                    echo multiply().'<br>';
                    echo '相除的結果是';
                    echo divide().'<br>';
                   
                    echo '<br>';                   
                    echo '這二個數字比較結果<br>';
                    if($_GET['num1'] > $_GET['num2']) {
                        $R = $_GET['num1'];
                        $L = $_GET['num2'];
                    } else {
                        $R = $_GET['num2'];
                        $L = $_GET['num1'];
                    }
                    echo '比較大的是'.$R.'<br>';
                   
                    echo '<br>';
                    echo '這二個數字判斷結果<br>';
                    echo $_GET['num1'].'是'.($_GET['num1']%2 ? '奇數' : '偶數').'<br>';
                    echo $_GET['num2'].'是'.($_GET['num2']%2 ? '奇數' : '偶數').'<br>';
                   
                    echo '<br>';
                    echo '大數字'.$R.'減小數字'.$L.'的結果<br>';
                    echo '等於'.($R - $L).'<br>';                   
                    echo '大數字'.$R.'除小數字'.$L.'的結果<br>';
                    echo '等於'.($R/$L).'<br>';
                   
                    echo '<br>';
                    echo $L.'到'.$R.'之間的質數如下:<br>';
                   
                    function isPrime($n) {
                        if($n < 2)
                            return 0;
                        for($i = 2; $i*$i <= $n; $i++) {
                            if($n % $i == 0)
                                return 0;
                        }
                        return 1;
                    }
                    for($i = $L; $i <= $R; $i++) {
                        if(isPrime($i)) {
                            echo "$i ,";
                        }
                    }
                }
            ?>
        </form>
    </body>
</html>