$ GLOBALS没有获得预期的数据

时间:2018-08-13 08:12:25

标签: php

我有下面的php代码:

operator fun MyDate.rangeTo(other: MyDate) = DateRange(this, other)

问题是<form method="get"> <input type="text" name="num1" placeholder="num1"> <input type="text" name="num2" placeholder="num2"> <button type="submit" name="submit" value="func1">Submit</button> </form> The result is: <?php if (isset($GLOBALS['result'])) { echo $GLOBALS['result']; // there do not get the add result. } ?> <?php $GLOBALS['result'] = 0; if(isset($_GET['submit']) && $_GET['submit'] == 'func1'){ $num1 = $_GET['num1']; $num2 = $_GET['num2']; $GLOBALS['result'] = $num1 + $num2; } ?> 代码未通过。

我的问题在哪里? 或者如何在不同的php标签中使用变量?

2 个答案:

答案 0 :(得分:0)

提交表单后,页面将刷新。 因此,该值将在GLOBALS中重置。

如果您可以在提交条件内回显GLOBALS,那么您将获得这些值。

注意:使用SESSION而不是GLOBALS。

<?php
     if(isset($_GET['submit']) && $_GET['submit'] == 'func1'){
            $num1 = $_GET['num1'];
            $num2 = $_GET['num2'];

            $GLOBALS['result'] = $num1 + $num2;

             echo $GLOBALS['result'];

        }
?>

答案 1 :(得分:0)

尝试以下代码 它正在工作。

<?php
session_start();
?>

<form method="get">
    <input type="text" name="num1" placeholder="num1">
    <input type="text" name="num2" placeholder="num2">
    <button type="submit" name="submit" value="func1">Submit</button>
</form>

<?php

if(isset($_GET['submit']) && $_GET['submit'] == 'func1'){
    $num1 = $_GET['num1'];
    $num2 = $_GET['num2'];

    $_SESSION['result'] = ($num1 + $num2); 

}

?>

The result is: <?php
if (isset($_SESSION['result'])) {
    echo $_SESSION['result'];  // there do not get the add result.  
}
?>