2017-10-11 16 views
1

私はユーザBMIを計算し、彼が正常範囲か肥満かを示す文字列を返す簡単なPHPプログラムを作成しています。私はちょうど始めたので、html input要素からユーザ入力を取得する必要があります。問題は、よく整形されていない数値エラーが発生していることです。ここに私のコードです: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") ?> 

     <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" /> &nbsp;&nbsp; <label for="imperial">Height in inches/centimeters</label> 
      <br /> 
      <input id="metric" name="metric" type="text" value="0.00" /> &nbsp;&nbsp; <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" /> 
      &nbsp; 
      <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"; 

?> 

この割り当てのために、それがためにokですテキストフィールドに整数として入力される値。だから、今私は唯一の歓迎されていない数値エラーを追跡することに関係しています。

はあなたの助けをありがとう、 DB

+0

エラーが発生したのは、どのラインですか?また、エラー全体を投稿してください。 –

+0

'var_dump($ _ POST)'の結果をここに投稿できますか? – OPV

+0

同じ名前の複数の入力がありますが、これは無効です。ラジオボタンは、テキストボックスと同じ名前にすることはできません。テストをしなければ、$ _POST値を作成しようとするとPHPがどのようなことをするのかよく分かりませんが、それは良い考えではありません。 – ADyson

答えて

2

用途:

echo $imperial . " " . "imperial units"; 

の代わりに:

echo $imperial. " " + "imperial units"; 

+.は、連結用で、追加のためです。 docsから

: ''

ストリングを使用して連結することができる

(ドット)演算子。このため、 '+'(加算)演算子は機能しません。

関連する問題