Php 注意:类型8——未定义变量
我对PHP非常陌生,我正在努力自学 我试图创建一个简单的表单,并在我的网站上加入一个简单的计算,但我收到了这个E_通知。也不知道如何在html中回显结果 有人能帮忙吗Php 注意:类型8——未定义变量,php,Php,我对PHP非常陌生,我正在努力自学 我试图创建一个简单的表单,并在我的网站上加入一个简单的计算,但我收到了这个E_通知。也不知道如何在html中回显结果 有人能帮忙吗 此处链接:尚未设置变量valor\u finan、valor\u entrada、numero\u parcela。 使用isset($valor\u finan)等检查它们是否包含记录/是否已设置。您的代码检查是否设置了$\u POST['valor-finan'],如果设置了,则设置变量$valor\u finan。如果未设置
此处链接:尚未设置变量valor\u finan、valor\u entrada、numero\u parcela。
使用isset($valor\u finan)等检查它们是否包含记录/是否已设置。您的代码检查是否设置了
$\u POST['valor-finan']
,如果设置了,则设置变量$valor\u finan
。如果未设置,则永远不会创建变量$valor\u finan
。然后,您的代码检查它是否为空——它不是空的,甚至不存在
相反,您应该将变量设置为无论如何都存在于代码中的某个值。如果您得到一些$\u POST
数据,请使用该数据,否则请提供一个类似false的默认值
empty
不是检查数值的最佳函数。使用<代码> ISO数字< /代码> - 0可能对您的应用程序是可接受的,但是<代码>空< /代码>将考虑0…空的不适合财务计算
另外,您正在使用不需要的globals。global
关键字总是不好的做法。开关
也是不必要的
以下是您的代码,并进行了相应的更正:
$valor_finan = (
isset($_POST['valor-finan']) ?
$_POST['valor-finan'] : false
);
$valor_entrada = (
isset($_POST['valor-entrada']) ?
$_POST['valor-entrada'] : false
);
$numero_parcela = (
isset($_POST['numero-parcela']) ?
$_POST['numero-parcela'] : false
);
function calculaFinanciamento ($valor_finan, $valor_entrada, $numero_parcela) {
if(
is_numeric($valor_finan) &&
is_numeric($valor_entrada) &&
is_numeric($numero_parcela)
){
$taxa_percent = 5;
$valor_parcela_bruto = ($valor_finan - $valor_entrada) / $numero_parcela;
$valor_percent = ($taxa_percent / 100) * $valor_parcela_bruto;
$valor_parcela = $valor_parcela_bruto + $valor_percent;
return $valor_parcela;
} else {
return "Por favor preencha os campos, todos são requeridos";
}
}
echo calculaFinanciamento($valor_finan, $valor_entrada, $numero_parcela);
@外星人先生?在链接上运行F9,表单会对其进行解释。我建议您在此处共享代码以及带有行号的实际警告/错误,好像链接将失效,您的问题对未来的访问者不再有用。您可以在提交表单之前,在显示表单时提出此通知。由于GET请求时,
$\u POST
是空的,并且您没有包含适当的检查(谷歌很容易找到)。很抱歉再次打扰您,但是为什么我不能在没有这些错误的情况下调用反HTML标记内的echo@卡罗尔也有同样的问题。脚本从上到下执行。因此,建立变量的代码还没有运行。通常,php代码位于文件的顶部,至少是处理从POST或GET获取数据的部分。@Carol我更新了示例代码,向您展示了正确的方法。再次感谢您。这些问题对你们来说太傻了,但对我来说有点难。。然而,我希望……)@卡罗尔,呸!我从12年前的一本书开始学习PHP,我无法忍受读我2年前写的代码。每个人都应该不断地学习,如果有人认为自己无所不知,那么他们只会表现出自己的无知。再次祝你好运:)