HTML选择表单不起作用

时间:2014-01-21 17:44:31

标签: php html

网站:http://macrorevolution.com/calculators/tdee/ 嘿,我正在尝试创建一个简单的计算器,但遇到了一些问题。

首先,我的HTML选择表单似乎没有任何效果。我的目标是让select输入更改$ activelevel的值。例如,如果用户选择“重度锻炼”,那么1.9的 $ activelevel 将应用于我的公式。

其次,我想加粗输出$ answer。我试过做: <?php echo "<b>".$answer."</b>" ?><?php echo <span class="bold">$answer</span> ?>但他们都失败了。我认为这是因为它们在value=' '

最后,即使我设置border =“1”,我的上一个表怎么没有可见的边框?

<?php
$answer = "";
$agev = "";
$feetv = "";
$inchesv = "";
$weightv = "";
$sex = "";
$activelevel = "";
if(isset($_POST['agev']) && isset($_POST['feetv']) && isset($_POST['inchesv']) && isset($_POST['weightv']) && isset($_POST['sex'])) {
    //&& isset($_POST['activelevel'])
    $agev = $_POST['agev'];
    $feetv = $_POST['feetv'];
    $inchesv = $_POST['inchesv'];
    $weightv = $_POST['weightv'];
    $sex = $_POST['sex'];
    $activelevel = $_POST['activelevel'];
    $totalheightv = $inchesv + ($feetv*12);
    $heightcm = $totalheightv*2.54;
    $weightkg = $weightv/2.2;

    echo $activelevel;
    if($activelevel=='1v') $activelevel=1.2;
    else if($activelevel=='2v') $activelevel=1.375;
    else if($activelevel=='3v') $activelevel=1.55;
    else if($activelevel=='4v') $activelevel=1.725;
    else if($activelevel=='5v') $activelevel=1.9;
    else echo "error";
    //echo $activelevel;

    if($sex=='male') $answer = $activelevel * (66.47 + (13.75*$weightkg) + (5*$heightcm) - (6.75*$agev));
    if($sex=='female') $answer = $activelevel * (665.09 + (9.56*$weightkg) + (1.84*$heightcm) - (4.67*$agev));

}
?>


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>Total Daily Energy Expenditure</title>

<style type="text/css">
.bold {
font-weight:bold;
}
</style>

<style>
  table {
    font-size:14px;
    font-family: 'PT Sans', sans-serif;
    background-color:#FFFFFF;
  }
tr.spaceUnder > td
{
  padding:0em 1em 1em 0em;

}
p.ss {
    font-size:30px; 
    text-align:center
}
input {
margin-right:5px;
margin-left:5px;
}

</style>
</head>
<body>
<div class="box pt20">
<p class="ss">MacroRevolution TDEE Calculator</p><br>
<table width='80%' style="margin: 0 auto;">
    <tr class="spaceUnder">
    <td colspan="4">
TDEE = Total Daily Energy Expenditure. TDEE is the amount calories your body burns in a 24 hour period which includes eating, sleeping, excercising, and working.
    </td>
    </tr>
</table>

<form method='post' action=''>
<table width='80%' style="margin: 0 auto;">


    <tr class="spaceUnder">
        <td>Age:</td>
        <td><input type='text' name='agev' value="<?php echo $agev; ?>"/>Years</td>
    </tr>
    <tr class="spaceUnder">
        <td>Height:</td>
        <td align="justify"><input type='text' name='feetv' value="<?php echo $feetv; ?>"/>Ft

        <input type='text' name='inchesv' value="<?php echo $inchesv; ?>"/>In</td>
    </tr>
    <tr class="spaceUnder">
        <td>Weight:</td>
        <td align="left"><input type='text' name='weightv' value="<?php echo $weightv; ?>"/>lbs</td>
    </tr>
    <tr class="spaceUnder">
        <td colspan="2"><input type='radio' name='sex' value='male'>Male
                        <input type='radio' name='sex' value='female'>Female</td>
    </tr>
        <tr class="spaceUnder">
    <td colspan="2">
        <select>
  <option name='activelevel' value='1v'>Little or no Excercise / Desk job</option>
  <option name='activelevel' value='2v'>Light exercise / Workout 1-3 days/week</option>
  <option name='activelevel' value='3v'>Moderate exercise / Workout 3-5 days/week</option>
  <option name='activelevel' value='4v'>Heavy exercise / Workout 6-7 days/week</option>
  <option name='activelevel' value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
         </select>
        </td>
        </tr>

    <tr class="spaceUnder">
        <td colspan="2"><input type='submit' class="button highlight small" value='Calculate'/></td>
    </tr>
    <tr class="spaceUnder">
        <td colspan="2">Your TDEE is <input type='text' style="width: 50px;" value='<?php echo $answer?>' /><strong>k/cal per day</strong>  </td>
    </tr>

</table>
</form>


<table border='0' width='80%' style="margin: 0 auto;">
    <td colspan="4">


        TDEE = BMR x Activity Level <br>
    Where the formula for BMR(Harris-Benedict formula) is <br><br>
Men: BMR=66.47+ (13.75 x W) + (5.0 x H) - (6.75 x A) <br>
Women: BMR=665.09 + (9.56 x W) + (1.84 x H) - (4.67 x A) <br><br>

    W = Weight in kilograms (lbs/2.2)<br>
    H = Height in centimeters (inches x 2.54)<br>
    A = Age in years <br><br><br>

        <table border="1" width='500px'>
    <tr>
    <th>Amount of Activity</th>
    <th>Description</th>
    <th>TDEE Activity Level</th>
    </tr>
    <tr>
    <td>Sedentary</td>
    <td>Little or no Excercise / Desk job</td>
    <td>1.2</td>
    </tr>
    <tr>
    <td>Lightly Active</td>
    <td>Light exercise / Workout 1-3 days/week</td>
    <td>1.375</td>
    </tr>
    <tr>
    <td>Moderately Active</td>
    <td>Moderate exercise / Workout 3-5 days/week</td>
    <td>1.55</td>
    </tr>
    <tr>
    <td>Very Active</td>
    <td>Heavy exercise / Workout 6-7 days/week</td>
    <td>1.725</td>
    </tr>
    <tr>
    <td>Extremely Active</td>
    <td>Very heavy exercise / Physical job / Workout 2 times a day</td>
    <td>1.9</td>
    </tr>
    </table>  
    <br><br><br>
    </td>
</table>
</div>

</body>
</html>

2 个答案:

答案 0 :(得分:2)

您需要为<select>标记添加名称,如下所示

 <select name="activelevel">       
          <option  value='1v'>Little or no Excercise / Desk job</option>
          <option  value='2v'>Light exercise / Workout 1-3 days/week</option>
          <option  value='3v'>Moderate exercise / Workout 3-5 days/week</option>
          <option  value='4v'>Heavy exercise / Workout 6-7 days/week</option>
          <option  value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
     </select>

而不是

    <select>
          <option name='activelevel' value='1v'>Little or no Excercise / Desk job</option>
          <option name='activelevel' value='2v'>Light exercise / Workout 1-3 days/week</option>
          <option name='activelevel' value='3v'>Moderate exercise / Workout 3-5 days/week</option>
          <option name='activelevel' value='4v'>Heavy exercise / Workout 6-7 days/week</option>
          <option name='activelevel' value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
     </select>

答案 1 :(得分:0)

您的选择输入需要设置名称。考虑:

<select name="activelevel">
<option value='1v'>Little or no Excercise / Desk job</option>
<option value='2v'>Light exercise / Workout 1-3 days/week</option>
<option value='3v'>Moderate exercise / Workout 3-5 days/week</option>
<option value='4v'>Heavy exercise / Workout 6-7 days/week</option>
<option value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
</select>

您可以通过设置输入框的字体粗细样式将答案设置为粗体。

<input type='text' style="width: 50px;font-weight:bold;" value='<?php echo $answer?>' />

您的表格边框由文件style.css设置为:

table {
border-collapse: collapse;
border-spacing: 0;
}