我在尝试计算变量的值时在php中收到通知

ash*_*his 0 php

这是用于检查表单的php代码段

<?php
include_once("includes/form_functions.php");
$var1 = 0; 
$var2 = 0; 
$var3 = 0; 
$var4 = 0; 
if(isset($_POST['submit'])) // checks if submit button is clicked of form
{
    if(isset($_POST['rdvar1']))
    {
        $var5 = $_POST["rdvar1"];
        if($_POST["rdvar1"] == "RJ")
        {
            $var1 = 20;
            $var2 = 15;
        }
        else
        {
            $var1 = 5;
            $var2 = 10;
        }           
    }
    if(isset($_POST['rdvar3']))
    {
        $var3 = $_POST["rdvar3"];
    }
    if(isset($_POST['rdvar4']))
    {
        $var4 = $_POST["rdvar4"];
    }
              elseif()
    {
               // many else if validation goes here 
              } 
        else
    {
        // some more internal validations
        $var6 = $var1/100 * $var2 + $var3 * $var4; // here i calculated var6 

            if(empty($message))
            {
            // db insert query  
                  }
    }
}
?> // php tag ends

// html website starts here
<!DOCTYPE html>
<html lang="en">

// somewhere down in html page i used

<?php
echo $var6
?>
// rest of html code and form
Run Code Online (Sandbox Code Playgroud)

我所有的表单代码都是okey,所有html都很好,我想我制作的所有php都很好..

当我运行此代码时,网页上会有一个持续的通知

 Notice: Undefined variable: var6 in C:\wamp\www\aaa\calc.php on line 478
Run Code Online (Sandbox Code Playgroud)

我从未定义的变量中理解的可能是变量的局部或全局范围...但是我在php主代码中使用了这个变量并在php主代码中再次调用它,意味着它不在任何函数内部,因此它的范围应该是全局的.我仍然得到这个通知,我不能检查这个变量的valule是什么?

有什么可能是错的家伙?

Ikm*_*ani 6

因为你跳过它,你只在其他地方分配:

if (condition) {
    // !! whatever here is executed
}
else
{
    // !! and this does not
    // some more internal validations
    $var6 = $var1/100 * $var2 + $var3 * $var4; // here i calculated var6 

        if(empty($message))
        { // db insert query }
}
Run Code Online (Sandbox Code Playgroud)

你输入的条件没有执行,你可以尝试捕获值或改善if条件.

要完成通知并删除脚本顶部所需的错误,就像其余的一样;

$var1 = 0; 
$var2 = 0; 
$var3 = 0; 
$var4 = 0; 
$var6 = 0; // <-- init this too
Run Code Online (Sandbox Code Playgroud)