下面是带输入/输出的简单表单的代码。出于某种原因,只有问题1似乎有效,问题2和问题3只是回应“有些问题”。我把所有三个问题都以完全相同的方式编码,所以我不确定为什么问题二和问题三不能正确处理。任何建议将不胜感激。处理PHP表单时发生未知错误?
下面是HTML表单:
<form action="processor.php" method="post">
<h4>Question # 1</h4>
<p>What grade are you in?</p>
<label class="checkbox"><input type="checkbox" name="grade" value="1"> Freshmen</label>
<label class="checkbox"><input type="checkbox" name="grade" value="2"> Sophomore</label>
<label class="checkbox"><input type="checkbox" name="grade" value="3"> Junior</label>
<label class="checkbox"><input type="checkbox" name="grade" value="4"> Senior</label>
<h4>Question # 2</h4>
<p>What is your current GPA?</p>
<select>
<option name="gpa" value="4">3.5 or above</option>
<option name="gpa" value="3">3.0-3.4</option>
<option name="gpa" value="2">2.5-2.9</option>
<option name="gpa" value="1">2.0-2.4</option>
<option>Lower</option>
</select>
<h4>Question # 3</h4>
<p>Where do you excel the most academically?</p>
<select multiple="multiple">
<option name="school" value ="1">Mathematics</option>
<option name="school" value ="2">Literature</option>
<option name="school" value ="3">History</option>
<option name="school" value ="4">Humanities</option>
<option name="school" value ="5">Science</option>
</select>
<div class="button">
<button class="btn btn-primary" input type="submit" name="submit" href="processor.php">Submit</button>
</div>
</form>
这里是处理器:
<?php
function Grades() {
$grade = $_POST['grade'];
if ($grade =="1") {
echo "You're a freshmen";
} elseif ($grade == "2") {
echo "You're a sophomore";
} elseif ($grade == "3") {
echo "You're a junior.";
} elseif ($grade == "4") {
echo "You're a senior.";
} else {
echo "Something is wrong.";
}
}
function Gpa() {
$gpa = $_POST['gpa'];
if ($gpa =="1") {
echo "You strongly need to up your GPA.";
} elseif ($gpa == "2") {
echo "You're an average student.";
} elseif ($gpa == "3") {
echo "You're an above average student.";
} elseif ($gpa == "4") {
echo "You're an excellent sudent.";
} else {
echo "Something is wrong.";
}
}
function School() {
$school = $_POST['school'];
if ($school =="1") {
echo "You're into Math";
} elseif ($school == "2") {
echo "You're into Lit";
} elseif ($school == "3") {
echo "You're into history.";
} elseif ($school == "4") {
echo "You're into humanities.";
} elseif ($school == "5") {
echo "You're into science.";
} else {
echo "Something is wrong.";
}
}
include('viewpage.php');
?>
和视图页面:
<h4>Question # 1</h4>
<p><?php Grades($grade); ?></p>
<h4>Question # 2</h4>
<p><?php Gpa($gpa); ?></p>
<h4>Question # 3</h4>
<p><?php School($school); ?></p>
未知错误...什么信息?它怎么没有工作到你期望的 – 2013-04-06 01:56:27
它不返回任何错误信息。对于问题1来说,无论我在表单上选择了什么,但回答问题二时,它会回吐“有些问题”,它应该像你正在研究人文科学或你的gpa吸吮一样,如上所述。 – buttonitup 2013-04-06 01:57:47
似乎你没有为“下”设置名称。尝试'',然后编辑其余代码以适应更改/添加。 – 2013-04-06 01:58:42