PHP中的理想权重
事情是这样的,我有一个学校作业要做,我的老师想让我用PHP做一个应用程序,根据一个女人和一个男人的身高来计算理想体重。就像这样,男人会把它的高度放在一个文本框中,然后应用程序会做高度-58.0,女人是一样的,但它的高度-44.7。我试着这么努力去做,但我不知道为什么当我点击提交按钮时,我得到的只是一个空屏幕。。。这是我的第一个PHP应用程序,我现在正在研究它,有人能帮我吗 以下是HTML代码:PHP中的理想权重,php,html,Php,Html,事情是这样的,我有一个学校作业要做,我的老师想让我用PHP做一个应用程序,根据一个女人和一个男人的身高来计算理想体重。就像这样,男人会把它的高度放在一个文本框中,然后应用程序会做高度-58.0,女人是一样的,但它的高度-44.7。我试着这么努力去做,但我不知道为什么当我点击提交按钮时,我得到的只是一个空屏幕。。。这是我的第一个PHP应用程序,我现在正在研究它,有人能帮我吗 以下是HTML代码: <Doctype HTML> <html lang = "pt-br"> &l
<Doctype HTML>
<html lang = "pt-br">
<head>
<title>Peso Ideal!</title>
</head>
<body>
<form method="POST" action="peso.php">
<p><label for="altura">Altura</label><br />
<input type="TEXT" name="altura"></p>
<input type="RADIO" name="sexo" value="Masculino">
Masculino
<input type="RADIO" name="sexo" value="Feminino">
Feminino<br /> <br />
<input type="SUBMIT" name="btn1" value="Calcular!">
</body>
</html>
比索理想!
阿尔图拉
男性的
女性化
以及PHP脚本:
<?php
$altura = $_POST['altura'];
$sexo = $_POST['sexo'];
$peso_masc = $sexo - 50.0;
$peso_fem = $sexo - 60.0;
if(null !== (['btn1'])){
$sexo_selecionado = ['sexo'];
if($sexo_selecionado=='Masculino'){
echo $peso_masc;
}
else if($sexo_selecionado == 'Feminino'){
echo $peso_fem;
}
}
?>
谢谢…改变
if(null !== (['btn1'])){
$sexo_selecionado = ['sexo'];
到
应该可以工作。这里是错误
if(null !== (['btn1']))
你不能访问任何东西。换成
if(null !== $_POST['btn1'])
不是最复杂的,但很直截了当:
if (isset($_POST['btn1'])){
if ($_POST['sexo'] == 'Masculino') {
$peso = $_POST['altura'] - 50;
}
else {
$peso = $_POST['altura'] - 60;
}
echo $peso;
}
您的php有几个问题。我在你出错的地方添加了评论
<?php
$altura = $_POST['altura'];
$sexo = $_POST['sexo'];
$peso_masc = $sexo - 50.0; // you're subtracting the value from the male/female here, when you should be subtracting it from $altura
$peso_fem = $sexo - 60.0; //same here
if(null !== (['btn1'])){ //this should be $_POST['btn1'], also, you should use isset()
$sexo_selecionado = ['sexo']; // this isn't how you do strings, it should be $sexo, but there's no reason for this variable, you can just test $sexo below
if($sexo_selecionado=='Masculino'){
echo $peso_masc;
}
elseif($sexo_selecionado == 'Feminino'){
echo $peso_fem;
}
}
?>
此外,您没有理由将$\u POST变量分配给其他变量,因此您可以将代码压缩为:
<?php
if(isset($_POST['btn1'])){
if($_POST['sexo']=='Masculino'){
echo $_POST['altura'] - 50;
}
elseif($_POST['sexo'] == 'Feminino'){
echo $_POST['altura'] - 60;
}
}
?>
如果您看到的是白色页面:可能发生了被抑制的错误。请参阅php.net上的错误报告和显示错误。另外:这个逻辑应该如何工作:$sexo-50.0
$sexo
要么是“阳性”,要么是“阴性”,因此您试图计算阳性-50.0
。那是不可能的。:-)如果您对整个实现给出反馈:$\u POST['altura']
也不能保证是浮点/整数,因此您应该转换提供的值(如果无法转换,则抛出异常/错误)。@Bjorn True,他的代码中有很多东西需要修改。非常好,不好意思问这么简单的问题!哈哈哈,谢谢你,伙计!很乐意帮忙。不要感到羞耻每个人都从某个地方开始!
<?php
$altura = $_POST['altura'];
$sexo = $_POST['sexo'];
$peso_masc = $altura - 50.0;
$peso_fem = $altura - 60.0;
if(isset($_POST['btn1'])){
if($sexo=='Masculino'){
echo $peso_masc;
}
elseif($sexo == 'Feminino'){
echo $peso_fem;
}
}
?>
<?php
if(isset($_POST['btn1'])){
if($_POST['sexo']=='Masculino'){
echo $_POST['altura'] - 50;
}
elseif($_POST['sexo'] == 'Feminino'){
echo $_POST['altura'] - 60;
}
}
?>