我正在编写一个简单的PHP程序来计算用户BMI并返回一个字符串,指示他是在正常范围还是肥胖。我刚开始所以我需要从html输入元素中检索用户输入。问题是,我得到一个非常好的数值错误。这是我的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php require("header.php") ?>
<title></title>
</head>
<body>
<h1>Lab #05 -- BMI Calculator</h1>
<br /><br /><br />
<form action="Lab05b.php" method="post">
<input id="imperial" name="imperial" type="text" value="0.00" /> <label for="imperial">Height in inches / centimeters</label>
<br />
<input id="metric" name="metric" type="text" value="0.00" /> <label for="metric">Weight in pounds / kilograms</label>
<br /><br />
<input type="radio" name="imperial" id="imperial" value="imperial" /> Imperial
<br />
<input type="radio" name="metric" id="metric" value="metric" /> Metric
<br /><br />
<input type="submit" />
<input type="reset" />
</form>
<?php require("footer.php"); ?>
</body>
</html>
这里是Lab05b.php包括:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php require("header.php") ?>
<?php require("Lab05b_Functions.php") ?>;
<title></title>
</head>
<body>
<h1>Lab #05 -- BMI Calculator</h1>
<br /><br /><br />
<?php echo "<p style='color: <?php echo $color; ?>' ?>Your body mass index is in the {$result} range</p>" ?>
<?php require("footer.php"); ?>
</body>
</html>
这是函数文件:
<?php
$imperial = filter_input(INPUT_POST,'imperial');
$metric = filter_input(INPUT_POST, 'metric');
echo $imperial. " " + "imperial units";
$color = "red";
$result = "Obese";
?>
对于此分配,可以将值作为整数输入到文本字段中。所以现在我只关注跟踪非wel形成的数值错误。
感谢您的帮助, DB
答案 0 :(得分:2)
使用:
 
而不是:
echo $imperial . " " . "imperial units";
echo $imperial. " " + "imperial units";
用于添加,+
用于连接。
来自docs:
字符串可以使用&#39;连接。&#39; (点)运算符。请注意&#39; +&#39; (附加)操作员不会为此工作。