请教一个 PHP 代码出错的原因(一个简单的计算器) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
githere
V2EX    PHP

请教一个 PHP 代码出错的原因(一个简单的计算器)

  •  
  •   githere Feb 6, 2019 4022 views
    This topic created in 2649 days ago, the information mentioned may be changed or developed.
    代码如下:

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>a small calculate</title>
    </head>
    <body>

    <form>

    <input type="text" name="num1" placeholder="number 1">
    <input type="text" name="num2" placeholder="number 2">
    <select name="operator">
    <option>None</option>
    <option>Add</option>
    <option>Subtract</option>
    <option>Multiply</option>
    <option>Divide</option>
    </select>
    <br>
    <button name="submit" value="good submit" type="submit" >Calculate</button>


    </form>

    <p>the answer is:</p>

    <?php

    if(isset($_GET['submit'])){
    $result1 = $_GET('num1');
    $result2 = $_GET('num2');
    $operator = $_GET('operator');

    switch($operator){
    case "None":
    echo "Error,you need select a method.";
    break;

    case "Add":
    echo $result1 + $result2;
    break;

    case "Subtract":
    echo $result1 - $result2;
    break;

    case "Multiply":
    echo $result1 * $result2;
    break;

    case "Divide":
    echo $result1 / $result2;
    break;

    }

    }

    ?>



    </body>
    </html>


    运行后测试:文本框输入值后,点击 calculate 按钮返回错误:


    Fatal error: Function name must be a string in /Applications/XAMPP/xamppfiles/htdocs/calculate.php on line 29

    请问如何解决呢?

    代码片段:

    28 行 if(isset($_GET['submit'])){
    29 行 $result1 = $_GET('num1');
    30 行 $result2 = $_GET('num2');
    31 行 $operator = $_GET('operator');
    10 replies    2019-02-08 17:54:42 +08:00
    898684526
        1
    898684526  
       Feb 6, 2019
    获取 get 参数应该是 [] 而不是()
    caola
        2
    caola  
       Feb 6, 2019
    $_GET 获取的数据并不存在, 先判断是否存在: $result1 = $_GET('num1') ?? 0;
    898684526
        3
    898684526  
       Feb 6, 2019
    你从 29 行 $_GET('num1') 应该是 $_GET['num1'];
    caola
        4
    caola  
       Feb 6, 2019
    确实是方括号问题(上面我直接复制了)
    clf
        5
    clf  
       Feb 6, 2019
    $_GET['xxx'] 不是 $_GET('xxx')
    githere
        6
    githere  
    OP
       Feb 6, 2019
    @898684526 @caola @lychs1998 感谢各位,我真是眼瞎啊!!
    Hardrain
        7
    Hardrain  
       Feb 6, 2019
    var_dump($_GET)可知其为数组,应使用$_GET['parameter']

    $_POST $_SERVER $_COOKIE 等也是数组
    orqzsf1
        8
    orqzsf1  
       Feb 6, 2019
    <select>
    <option value ="volvo">Volvo</option>
    <option value ="saab">Saab</option>
    <option value="opel">Opel</option>
    <option value="audi">Audi</option>
    </select>
    githere
        9
    githere  
    OP
       Feb 7, 2019
    @898684526 @caola @lychs1998 追问一下,请问如何理解这一行代码的意思:

    if(isset($_GET['submit'])) {}
    bzj
        10
    bzj  
       Feb 8, 2019
    楼主把这里当百度知道了,基础不好不去学习,跑来这里问,习惯不好
    About     Help     Advertise     Blog     API     FAQ     Solana     3048 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 52ms UTC 03:44 PVG 11:44 LAX 20:44 JFK 23:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86