PHP的理想重量

时间:2014-08-30 17:57:36

标签: php html

在这里达成协议,我有一份学校工作要做,我的老师要我用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;
        }
    }
?>

...谢谢

5 个答案:

答案 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) 彼得