我是一个很新的编码,完全的新手,我正试图打印出一个基于分数的文本。比如如果他们选择1,那么打印"Bad",等等。我想我可以使用if/else,但我对编码很陌生,我不知道。我一直在谷歌,但我只是不知道谁得到的形式和文本一起工作。有人能帮忙吗?
<section class="evaluation">
<h2>Test</h2>
<p>More info here</p>
<p>Gve this a grade [1-6]</p>
<form action="evaluation.php" method="post">
<select class="evalSelect">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
<input class="evalButton" type="submit" name="name" value="Give grade">
</form>
</section>
如果我可以使用这样的东西,我怎么能让它与上面的形式一起工作?
switch ($grade) {
case "1":
echo "Bad";
break;
case "2":
echo "Not so bad";
break;
case "3":
echo "Better";
break;
case "4":
echo "Even better";
break;
case "5":
echo "Good";
break;
case "6":
echo "Very good";
break;
}
?>
为了做到这一点,您需要为每个带有值的选项标记添加value属性。然后在PHP中,你可以检查是否设置了evalSelect以及它包含了什么。
编辑你的表单到:
<section class="evaluation">
<h2>Test</h2>
<p>More info here</p>
<p>Gve this a grade [1-6]</p>
<form action="evaluation.php" method="post">
<select class="evalSelect">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<input class="evalButton" type="submit" name="name" value="Give grade">
</form>
</section>
对于PHP,这应该可以工作:
// evaluation.php
if (isset($_POST['evalSelect']))
{
$grade = $_POST['evalSelect'];
switch ($grade) {
case "1":
echo "Bad";
break;
case "2":
echo "Not so bad";
break;
case "3":
echo "Better";
break;
case "4":
echo "Even better";
break;
case "5":
echo "Good";
break;
case "6":
echo "Very good";
break;
}
}
尝试这样做来回应您的文本:
<section class="evaluation">
<h2>Test</h2>
<p>More info here</p>
<p>Gve this a grade [1-6]</p>
<form action="evaluation.php" method="post">
<select class="evalSelect" name="evalSelect">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
</select>
<input class="evalButton" type="submit" name="name" value="Give grade">
</form>
</section>
在evaluation.php
中这样做:
$grade = $_POST['evalSelect'];
switch ($grade) {
case "1":
echo "Bad";
break;
case "2":
echo "Not so bad";
break;
case "3":
echo "Better";
break;
case "4":
echo "Even better";
break;
case "5":
echo "Good";
break;
case "6":
echo "Very good";
break;
}