Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $GLOBALS无法获取预期的数据_Php - Fatal编程技术网

Php $GLOBALS无法获取预期的数据

Php $GLOBALS无法获取预期的数据,php,Php,我有下面的php代码: <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> </for

我有下面的php代码:

<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;

}

?>

提交
结果是:
问题是
if(isset($GLOBALS['result']){…}
代码没有遍历

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

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

如果您可以在submit条件中回显全局变量,那么您将获得这些值

注意:使用SESSION而不是GLOBALS

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

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

             echo $GLOBALS['result'];

        }
?>

尝试下面的代码 它正在工作

<?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.  
}
?>

提交
结果是:

我知道我可以将php echo代码放在那里,但我想知道使用变量的不同php标记位置,我尝试使用
$\u SESSION['result']
存储它,但仍然无法获取。谢谢你,兄弟,但是对我来说仍然有一个问题,如果
结果是:
if(isset($\u get['submit'])&$\u get之前['submit']=='func1')
php代码,不会按照我的要求进行更新。如果将该块置于提交条件之上,则不会得到所需的结果,因为随后需要页面刷新来更新会话变量。或者,如果条件低于$\u session['result']=($num1+$num2),则使用相同页面的标题位置;以获得该值