php如何在与表单相同的页面上发送项目

时间:2011-04-07 03:24:13

标签: php

美好的一天! 我是php的新手.. 我用html制作了一个表格,我可以输入学生的成绩。 然后是一个php页面,知道它们是否通过。 我的问题是如何在html页面上发回回复。示例如何在表单下的html页面上发送您失败状态。

我的代码如下:

 <HTML>
    <BODY>
    Please enter your grade (0-100 only):
    <FORM ACTION="grade2.php" METHOD="POST">
    <table border = "1">
        <tr>
            <td>Grade</td>
            <td><input type="text" name="grade" /></td>
        </tr>
    </table>
    <INPUT type="submit" name="submit" value="grade">
    </BODY>
    </HTML>


<?php

$grade = $_POST['grade'];
IF ($grade>=0 && $grade<=50){
    print "You failed";
} ELSE IF ($grade<=60){
    print "You Passed! But Study Harder!";
} ELSE IF ($grade<=70){
    print "Nice";
} ELSE IF ($grade<=80) {
    print "Great Job";
} ELSE IF ($grade<=90){
    print "Excellent";
} ELSE IF ($grade<=100){
    print "God Like!";
} ELSE {
    print "Invalid Grade!";
}   

?>

4 个答案:

答案 0 :(得分:1)

只需使用一个包含表单和消息的PHP页面。例如(假设您的文件是grade.php

<form action="grade.php" method="post">
    <!-- form elements, etc -->
</form>
<?php
if (isset($_POST['grade'])) {
    $grade = (double) $_POST['grade'];
    // if statements, print message, etc
}
?>

答案 1 :(得分:1)

我看到的唯一可能阻止它现在显示的问题是打印语句超出了<body>标签。

移动

</BODY> 
</HTML>

到文件的最后

答案 2 :(得分:1)

您可以使用两种方法。

您可以回显脚本文件名:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

或者只是将操作字段留空。然后页面将重新加载。

<form action="" method="post">

在脚本的顶部,测试重新加载时是否存在POST变量:

if (isset($_POST['submit'])) {

就是这样。

答案 3 :(得分:-1)

如果您的意思是发送电子邮件,请使用mail()函数。

如果您只想将结果打印到屏幕上,请使用echo。

<?php

$grade = $_POST['grade'];
IF ($grade>=0 && $grade<=50){
    echo "You failed";
} ELSE IF ($grade<=60){
    echo "You Passed! But Study Harder!";
} ELSE IF ($grade<=70){
    echo "Nice";
} ELSE IF ($grade<=80) {
    echo "Great Job";
} ELSE IF ($grade<=90){
    echo "Excellent";
} ELSE IF ($grade<=100){
    echo "God Like!";
} ELSE {
    echo "Invalid Grade!";
}   

?>

另外,我不确定这是不是标准(我通常不会这样看),但是你的IF / ELSE语句中的所有上限都因某些原因而让我很烦恼。