2011-04-07 64 views
0

美好的一天! 我是一個新手在PHP .. 我做了一個表格使用HTML,我可以輸入學生的成績。 然後,一個php頁面知道他們是否通過。 我的問題是我怎樣才能發回在html頁面上的答覆。示例如何在窗體下的HTML頁面上發送「您失敗」狀態。php如何在同一頁面上發送表格

我的代碼如下:

<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!"; 
} 

?> 

回答

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

如果你的意思是發送電子郵件,使用電子郵件()函數。

如果只是將結果打印到屏幕上,請使用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語句全部大寫真的惹惱了我的某些原因。

+0

'print'和'echo'執行相同的基本功能 – Phil 2011-04-07 03:33:02

+0

是的,但回聲冷卻器。 – Thomas 2011-04-07 03:37:13

1

我看到可以阻止它現在顯示出來的唯一問題是,打印報表的編制是<body>標籤之外。

移動

</BODY> 
</HTML> 

到文件

1

目前的盡頭是兩種方式,您可以使用。

可以呼應的腳本文件名:

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

還是見好就收的操作領域的空白。該頁面將自動重新加載。

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

在腳本的頂部,爲POST變量對重載存在測試:

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

就是這樣。

+1

**永不**在表單動作中盲目地使用'PHP_SELF'而不用第一次使用'htmlspecialchars()'或'htmlentities()'消毒。 Google [PHP_SELF XSS](http://www.google.com/search?q=PHP_SELF+XSS) – Phil 2011-04-07 03:53:41

+0

有人可以使用第二個選項嗎?沒有PHP的? – 2011-04-07 13:22:30

相關問題