私はこの演習を実行する必要があります。グレード電卓
は、関数workOutGradeAvを作成する - この方法ではうまくいか、平均等級を表示し、その後、いくつかの等級に読み込みます。
意味のある紹介メッセージを表示します。 1.1後でコードに必要な変数を宣言します。
1.2 HTMLフォームの5つの入力ボックスに5つの等級を求めるメッセージを表示します。また、1行に1つの等級を入力する必要があることを説明してください。 1.3 5つのフィールドすべてが正しく入力され、等級境界内の値でない限り、フォームを提出することはできません。
1.4 doループ制御プログラムフロー):
1.4.1入力フォームからグレードを変数に読み込みます。 1.4.2(論理演算子を使用)条件文(If)を使用して、グレードが0〜101の範囲外かどうかをチェックし(ブールORを使用)、それが真であればエラーメッセージを出力します。 1.4.3グレードが101でない場合は、合計を
に追加してください。 doループを終了してグレードがチェックされていない101
1.5平均グレードを計算し、結果を適切なメッセージで表示します。
私のコードはこれです:私はフォームを送信すると Assess1Grades.php
<!doctype html>
<html>
<head>
<title>Grade Assessor</title>
</head>
<body>
<h2>Grade Assessor<h2>
<table border="1">
<tr>
<td>
<table>
<form action="grades.php" method="post">
<tr>
<td>
Enter 5 grades. One per each line:
</td>
</tr>
<tr>
<td>
Grade 1: <input type="number" name="grade1" required>
</td>
</tr>
<tr>
<td>
Grade 2: <input type="number" name="grade2" required>
</td>
</tr>
<tr>
<td>
Grade 3: <input type="number" name="grade3" required>
</td>
</tr>
<tr>
<td>
Grade 4: <input type="number" name="grade4" required>
</td>
</tr>
<tr>
<td>
Grade 5: <input type="number" name="grade5" required>
</td>
</tr>
<tr>
<td align="center">
<input type="submit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
grades.php
<!doctype html>
<html>
<head>
<title>Grade Assessor</title>
</head>
<body>
<h2>Grade Assessor<h2>
<table border="1">
<tr>
<td>
<table>
<tr>
<td>
The Average grade is:
</td>
<td>
<?php
function workOutGradeAv() {
$averagegrade=$grades/5;
echo "$averagegrade";
}
$grades=0;
do {
if ($_Post["grade1"] < 0 or $_Post["grade1"] > 101) {
echo "Error! Check Input.";
} elseif ($_Post["grade2"] < 0 or $_Post["grade2"] > 101) {
echo "Error! Check Input.";
} elseif ($_Post["grade3"] < 0 or $_Post["grade3"] >101) {
echo "Error! Check Input.";
} elseif ($_Post["grade4"] < 0 or $_Post["grade4"] >101) {
echo "Error! Check Input.";
} elseif ($_Post["grade5"] < 0 or $_Post["grade5"]>101) {
echo "Error! Check Input.";
} else {
$grades = $grades + $_Post["grade1"] + $_Post["grade2"] + $_Post["grade3"] + $_Post["grade4"] + $_Post["grade5"];
}
}
while ($_Post["grade1"]!= 101);
workOutGradeAv();
?>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>
は、出力は単に「平均グレードがある」され、何の結果はありません。私は間違って何をしていますか?
おかげで
ペドロ、$ _Postとは何ですか? $ _POSTは未定義です...あなたは$ _POST(すべて大文字)を使用する必要があります。私はエラー報告をオンにしていないと仮定します。エラー報告をオンにしてください。 –
まず、$ _Postを使用しています。$ _POSTにする必要があります。 PHPは大文字小文字を区別しますhttp://php.net/manual/en/reserved.variables.post.php – valicu2000
私のブラウザをクラッシュさせていただきありがとうございます... do whileループは何をしていますか? –