在这里达成协议,我有一份学校工作要做,我的老师要我用PHP编写一个应用程序,根据女人和男人的身高来计算理想体重。就像这样,男人会把它的高度放在一个文本框中然后应用程序会达到58.0的高度,而那个女人的高度是相同的,但它的高度 - 44.7。我努力做到这一点,但我不知道为什么当我点击提交按钮时,所有我都知道它是一个空屏幕......这是我的第一个PHP应用程序,我现在正在开始,有人可以帮助我吗?
这是HTML代码:
<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;
}
}
?>
...谢谢
答案 0 :(得分:0)
更改
if(null !== (['btn1'])){
$sexo_selecionado = ['sexo'];
到
if(null !== ($_POST['btn1'])){
$sexo_selecionado = $sexo;
应该有用。
答案 1 :(得分:0)
这是错误
if(null !== (['btn1']))
你没有访问任何东西。将其更改为
if(null !== $_POST['btn1'])
答案 2 :(得分:0)
不是最复杂,但非常简单:
if (isset($_POST['btn1'])){
if ($_POST['sexo'] == 'Masculino') {
$peso = $_POST['altura'] - 50;
}
else {
$peso = $_POST['altura'] - 60;
}
echo $peso;
}
答案 3 :(得分:0)
你的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;
}
}
?>
你们一起得到:
<?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;
}
}
?>
此外,您没有理由将$ _POST变量分配给其他变量,因此您可以将代码压缩为:
<?php
if(isset($_POST['btn1'])){
if($_POST['sexo']=='Masculino'){
echo $_POST['altura'] - 50;
}
elseif($_POST['sexo'] == 'Feminino'){
echo $_POST['altura'] - 60;
}
}
?>
答案 4 :(得分:0)
Precisatambémcolocar$ _POST antes de ['btn1'] e antes de ['sexo']
Então: $ _POST [ 'BTN1']
$ sexo_selecionado = $ _POST ['sexo'];
Abraço(来自DF) 彼得